我想低于输出.
<html>
<head>
</head>
<body>
<table>
<tbody>
<thead>
Blah Blah table Header--Constant Part
</thead>
<tr>
some text-constant part
</tr>
<!---Main Customization Part-->
for(i=0;i<some value;i++)
{
<tr>
for(j=0;j<another value;j++)
{
if(some condition)
{
<td class=another varibale>some text</td>
}
else
{
<td class=yet another varibale>some text</td>
}
}
</tr>
}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
正如你可以看到它的混合html,它将从java逻辑生成其余部分.现在这里是我的问题 - 如何在独立的java中实现(即不是jsp).我知道我可以将它写入普通文件.但不知怎的,我觉得这是一个丑陋的解决方案.有什么方法可以在一些更好的方式完成它办法?基本上我正在为java寻找一个好的HTML构建器.已经检查过 - Freemarker.我也愿意用任何语言实现,因为java是我最喜欢的语言,所以我更喜欢它.
我正在使用Scalatra,但这个问题应该适用于任何Scala编程.我来自Ruby on Rails背景.简单地说,使用诸如XML Builder或jsonbuilder(https://github.com/rails/jbuilder)之类的模板化系统,我可以通过创建模板来完全控制RESTful API中的JSON或XML输出.以下:
Jbuilder.encode do |json|
json.content format_content(@message.content)
json.(@message, :created_at, :updated_at)
json.author do
json.name @message.creator.name.familiar
json.email_address @message.creator.email_address_with_name
json.url url_for(@message.creator, format: :json)
end
if current_user.admin?
json.visitors calculate_visitors(@message)
end
json.comments @message.comments, :content, :created_at
json.attachments @message.attachments do |attachment|
json.filename attachment.filename
json.url url_for(attachment)
end
end
Run Code Online (Sandbox Code Playgroud)
这里的理想是,我将一个@message
对象与控制器+动作中所需的任何逻辑组合在一起.这会传递给具有逻辑的模板,例如if current_user.admin?
包含一些东西,否则不会.
什么是Scala或Scalatra中可用的类似工具?我知道serializer
会让我覆盖从特定模型生成的JSON或XML,但这在Ruby中是相同的(如果我错了,请纠正我)作为覆盖as_json
或as_xml
.然而,有时候,模板要复杂得多,包括多个模型,特定的数据结构,特定的数据排序等.这就是我需要的灵活性.目前有一个工具可以在Scala/Scalatra环境中进行这样的模板化吗?
我试图@font-face
在cassius模板中使用选择器而没有运气.
Cassius @
用于插值,有什么方法可以逃脱它吗?
我试过@@
和\@
,他们没有工作.
以下模板
@font-face
font-family: 'Monsieur La Doulaise'
src: url('http://fonts.googleapis.com/css?family=Monsieur+La+Doulaise')
Run Code Online (Sandbox Code Playgroud)
结果是
src: url('http://fonts.googleapis.com/css?family=Monsieur+La+Doulaise');}
Run Code Online (Sandbox Code Playgroud) 我如何在Play中更改模板引擎!与默认的引擎不同的引擎?你能给我举个例子吗?
我正在尝试编写一个nunjucks模板,该模板遍历外部数组并填充列,然后遍历嵌套数组以在每一列中创建行。
因此,我的数据结构如下所示:
var data = [
{
'type' : 'fruit',
'list' : ['banana', 'kiwi', 'strawberry']
},
{
'type' : 'vegetables'
'list' : ['tomato', 'carrot', 'zucchini']
}
]
Run Code Online (Sandbox Code Playgroud)
我想创建一个如下所示的html文档:
<div>
<span>fruit</span>
<ul>
<li>banana</li>
<li>kiwi</li>
<li>strawberry</li>
</ul>
</div>
<div>
<span>vegetables</span>
<ul>
<li>tomato</li>
<li>carrot</li>
<li>zucchini</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我试图制作一个看起来像这样的nunjucks模板:
{% for category in data %}
<div>
<span>{{category.type}}</span>
<ul>
{% for thing in category.list %}
<li>{{thing}}</li>
{% endfor %}
</ul>
</div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但是,由于某种原因,我无法访问内部变量。我实际上没有访问内部for循环的权限。我已经看过堆栈溢出,并通过他们的文档,但找不到有关嵌套的for循环的任何信息。
任何帮助将不胜感激。谢谢。
我目前正在为NodeJs制作一个小模块.我需要一点帮助.
我会这样说的.我有一个带字符串的变量.它包含一个字符串html值.现在我需要$(title)
用我的对象替换这样的东西{ "title" : "my title" }
.这可以扩展到用户提供的任何内容.这是当前的代码.我认为我需要RegEx才能做到这一点.你能帮助我吗?
var html = `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document $(title)</title>
</head>
<body>
<h1>Test file, $(text)</h1>
</body>
</html>`;
function replacer(html, replace) {
// i need a regex to replace these data
//return replacedData;
}
replacer(html, { "title" : "my title", "text" : "text is this" });
Run Code Online (Sandbox Code Playgroud)
我想使用Go模板和VueJS进行数据绑定.以前有没有人融合?
我希望主要使用VueJS进行Ajax调用,因为手动(或使用jQuery)总是让我的代码变得混乱.
更具体地说,如果我有一个简单的<p>
标签,其值是从Go模板生成的,如下所示:
{{.Color}}
Run Code Online (Sandbox Code Playgroud)
现在我想像这样绑定到值
:
{{someVariable}}
Run Code Online (Sandbox Code Playgroud)
两者都是相同的标签.
采用以下树结构:
????base
? ????0001
? ? ????pages
? ? file.twig
? ? file_content.twig
? ????ext
? ????store
? ? ????pages
? ? ????all
? ? ? file.twig
? ? ????0001
? ? file.twig
? ????newsletter
? ????pages
? ????all
? ? file.twig
? ????0001
? file.twig
????pages
? file.twig
????0001
file.twig
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,file.twig
周围散落着一大堆.
我想渲染文件的内容base/0001/pages/file_content.twig
.
但是,我希望以下文件可以更改块内的内容:
ext/<...>/pages/0001/file.twig
ext/<...>/pages/all/file.twig
/pages/0001/file.twig
/pages/file.twig
但是,这些文件可能存在也可能不存在,可能需要也可能不需要,并且必须能够更改任何块的内容.
有没有办法让这项工作?
到目前为止,我有以下内容:
{% embed 'base/pages/file_content.twig' %}
{% block page_file %}
{{ parent() }}
{% if data.store_enabled %} …
Run Code Online (Sandbox Code Playgroud) 我有一个带有占位符的模板(例如$ {PARAM1}),程序成功解析了它们。但是,如果我只想解析传递给模板引擎的占位符,而忽略其他$ {}怎么办?当前,如果程序无法解析所有占位符,则该程序将失败。
static void main(String[] args) {
def template = this.getClass().getResource('/MyFile.txt').text
def parameters = [
"PARAM1": "VALUE1",
"PARAM2": "VALUE2"
]
def templateEngine = new SimpleTemplateEngine()
def output = templateEngine.createTemplate(template).make(parameters)
print output
}
Run Code Online (Sandbox Code Playgroud)
档案:$ {PARAM1} $ {PARAM2} $ {PARAM3}
谢谢