artTemplate 有两个版本, 简洁版和原生版;
1. 简洁版兼容 jsp;
2, 原生版不兼容 jsp, 但是写法和 js 相似;
所以我推荐用原生写法;
楼主遇到过, 写原生的放在 jsp, 报错 500, 解救方法是 [color=#ff0000][/color] 放入单独的 js 文件中.
举个例子:
html 部分
html 代码
<ul class="titles-ul titles-ul2" id="contents2"></ul>
js 部分
javascript 代码
- <script id="test" type="text/html">
- <%for (var i=0;i<list.length;i++) {%>
- <li><%=list[i]%></li>
- <%}%>
- </script>
- <script>
- var data = {
- title: '标签',
- list: ['查询接口', '查询接口', '查询接口', '查询接口', '查询接口', '查询接口']
- };
- var html = template('test', data);
- document.getElementById('contents').innerHTML = html;
- document.getElementById('contents2').innerHTML = html;
- $.ajax({
- type: 'GET',
- url: path,
- dataType: 'text',
- async: false
- }).done(function(cb){
- var html = template('test', cb);
- document.getElementById('contents').innerHTML = html;
- });
- </script>
还有另外一种写法方便后台拼接;
html 部分
html 代码
<ul class="titles-ul titles-ul2" id="contents2"></ul>
js 部分
javascript 代码
<script>
var source =
'<% for (var i = 0; i <list.length; i ++) { %>'
+'<li > 索引 <%= i + 1 %> :<%= list[i] %></li>'
+ '<% } %>'
;
var render = template.compile(source);
var html = render({list: ['摄影', '电影', '民谣', '旅行', '吉他']});
document.getElementById('contents').innerHTML = html;
</script>
来源: http://www.qdfuns.com/article/40739/922444fa59d37703cb99ebf72cdcfe72.html