复制到这里一下,方便往后查询,源地址
若是模板中存在 </texterea>
将/
换成/
javascript
代码举例:html
<textarea name="jst" id="jst-template-1"> <table class="w-table"> <thead> <tr><th>序号</th><th>姓名</th><th>性别</th></tr> </thead>\ {if !defined("workers")} <tr><td colspan="3">数据加载失败,请稍后再试!</td></tr> {elseif workers&&workers.length} {list workers as x} <tr{if x_index==x_length-1} class="last"{/if}> <td>${x_index+1}</td> <td>${x.name}</td> <td>{if x.gender==1}男{else}女{/if}</td> </tr> {/list} {else} <tr><td colspan="3">没有工人!</td></tr> {/if} </table> </textarea>
后续可使用_$get接口获取整合数据的结果java
代码举例:git
NEJ.define([ 'util/template/jst' ],function(_t){ // 添加模版缓存 // 也能够用_$parseTemplate接口批量添加 _t._$add('jst-template-1'); // 根据模板ID取模板内容 // 返回整合数据后的html代码 var _html = _t._$get('jst-template-1',{ workers:[ {name:'abc',gender:1}, {name:'def',gender:1}, {name:'ghi'} ] }); // TODO });
${}
描述:求值表达式,表达式中不能够包含 “{”或者“}”github
语法:api
${expr} ${expr|modifier} ${expr|modifier1|modifier2|...|modifierN} ${expr|modifier1:argExpr1_1} ${expr|modifier1:argExpr1_1,argExpr1_2,...,argExpr1_N} ${expr|modifier1:argExpr1_1|...|modifierN:argExprN_1,argExprN_2,...,argExprN_M}
范例:数组
${customer.firstName} ${customer.firstName|capitalize} ${customer.firstName|default:"no name"|capitalize} ${article.getCreationDate|default:new Date()|toCalendarControl:"YYYY.MM.DD",true,"creation Date"} ${(lastQuarter.calcRevenue() - fixedCosts) / 10000}
${% %}
描述:求值表达式,表达式中能够包含 “{”或者“}”缓存
语法:编码
${% expr %}
范例:spa
${% emitLink("Solution and Products", {color: "red", blink: false}) %}
list break
描述:遍历数组
语法1:
{list seq as varName} ... {break} ... {/list}
范例1:
{list ["aaa", "bbbb", "ccccc"] as x} ${x_index}/${x_length}:${x}<br/> {/list}
备注:
x_index
为内置变量,值为循环的索引值。x_length
为内置变量,值为列表长度, 上例中值为3。
语法2:
{list from..to as varName} ... {/list}
备注:循环时包含from和to值
范例2:
{list 2..10 as x} ${x_index}/${x_length}:${x}<br/> {/list}
备注:
x_index
为内置变量,值为循环的索引值。x_length
为内置变量,值为列表长度, 上例中值为9。
for forelse
描述:遍历HASH表
语法:
{for varName in hash} ... {forelse} ... {/for}
注:forelse 子语句为可选
范例:
{for x in {a:"aaa", b:"bbbb", c:"ccccc"}} ${x_key} - ${x}<br/> {forelse} no pro {/for}
注:x_key为内置变量,值为当前项的键值。
if elseif else
描述:条件控制语句
语法:
{if expr} ... {elseif expr} ... {else} ... {/if}
注:elseif、else 子语句为可选
范例:
{if gender == 1} 男 {elseif gender == 0} 女 {else} 春哥 {/if}
var
描述:变量定义
语法:
{var varName} {var varName = expr}
范例:
{var test = "sssssss"}
macro
描述:宏定义
语法:
{macro macroName(arg1, arg2, ... argN)} ... body of the macro ... {/macro}
范例:
{macro htmlList(dataList, optionalListType)} {var listType = optionalListType != null ? optionalListType : "ul"} <${listType}> {for item in dataList} <li>${item}</li> {/for} </${listType}> {/macro}
调用宏:
${htmlList(["首页", "日志","相册", "关于我"])}
输出:
<ul> <li>首页</li> <li>日志</li> <li>相册</li> <li>关于我</li> </ul>
cdata
描述:文本块,内容不作语法解析
语法:
{cdata} ...no parsed text ... {/cdata}
或
{cdata EOF} ...no parsed text ... EOF
范例:
{cdata} ${customer.firstName}${customer.lastName} {/cdata}
或
{cdata END_OF_CDATA_SECTION} ${customer.firstName}${customer.lastName} END_OF_CDATA_SECTION
输出:
${customer.firstName}${customer.lastName}
minify
描述:压缩文本内容,内容不作语法解析
语法:
{minify} ...multi-line text which will be stripped of line-breaks... {/minify}
或
{minify EOF} ...multi-line text which will be stripped of line-breaks... EOF
范例:
{minify} no parsed text and merge one line {/minify}
或
{minify EOF} no parsed text and merge one line EOF
输出:no parsed text and merge one line
eval
描述:执行javascript语句,不作语法解析
语法:
{eval} ...javascript statement... {/eval}
或
{eval EOF} ...javascript statement... EOF
范例:
{eval} var a = "aaaa"; alert(a); function b(arg){ alert(arg); } {/eval}
或
{eval EOF} var a = "aaaa"; alert(a); function b(arg){ alert(arg); } EOF
描述:随机一个指定长度的纯数字的串
语法:
${number_expr|rand}
范例:
${10|rand}
输出:3456785438
escape
描述:编码字符串
语法:
${expr|escape}
范例:
${"<div>1234<a href="#">163</a></div>"|escape}
输出:<div>1234<a href="#">163</a></div>
format
描述:格式化日期
语法:
${data_expr|format:format_expr}
范例:
${new Date()|format:"yyyy-MM-dd HH:mm:ss"}
输出:2012-06-13 16:30:55
default
描述:指定默认值
语法:
${expr|default:default_expr}
范例:
${null|default:"default value"}
输出:default value
注:当expr为undefiend,null,false,0或者空字符串时取默认值