之前前台页面一直用的是jsp,接收后台传值用的是el表达式,前段时间接触了一下公司的前台页面,发现用的是HTML,后台传值用的是beetl,所以了解了一下,发现理解起来相对简单一下,在这里整理一下,避免以后忘记;
jfinal整合beetl模板需要导入两个jar包
导入jar包后在你的配置类的configConstant方法里添加下面的代码:
JFinal3BeetlRenderFactory rf = new JFinal3BeetlRenderFactory();
rf.config();
me.setRenderFactory(rf);
GroupTemplate gt = rf.groupTemplate;
好了,配置完成,你可以使用beetl模板了;
下面说一下在HTML里怎么使用beetl模板;
后台就比较好处理了直接setAttr();把你想要传到前台的数据放进去就好了;
前台的话通过${}取值(看上去和了没什么不一样)
下面就是不一样的地方了
html里遍历
<%for(var i=0;i<list.~size;i++){%>
<tr>
<td>${list.~size}</td>
<td>${list[i].id}</td>
<td>${list[i].uname!''}</td>
</tr>
<%}%>
对!就是这样;
说一下这里面几个字符的作用
~:对,你没看错,就是这么一个符号不是我敲错了,不能直接.length必须加上~
!'':叹号后面是单引号,不要写错了,他的作用是:当你后台传过来的数据中并没有username时,你不这样写的话会报错,而当你这样写了之后如果你的单引号里没有值,前台会显示空字符串,有值的话就会显示你写的值了
还有一些其他的类似于elsefor,while,map之类的方法我就不一一介绍了,可以去beetl官方文档看(http://ibeetl.com/guide/)
Ps:我的jfinal版本是3.0如果你的版本是2.几那么配置方法就不一样了,详情请参考beetl官方文档
jfinal整合beetl模板需要导入两个jar包
导入jar包后在你的配置类的configConstant方法里添加下面的代码:
JFinal3BeetlRenderFactory rf = new JFinal3BeetlRenderFactory();
rf.config();
me.setRenderFactory(rf);
GroupTemplate gt = rf.groupTemplate;
好了,配置完成,你可以使用beetl模板了;
下面说一下在HTML里怎么使用beetl模板;
后台就比较好处理了直接setAttr();把你想要传到前台的数据放进去就好了;
前台的话通过${}取值(看上去和了没什么不一样)
下面就是不一样的地方了
html里遍历
<%for(var i=0;i<list.~size;i++){%>
<tr>
<td>${list.~size}</td>
<td>${list[i].id}</td>
<td>${list[i].uname!''}</td>
</tr>
<%}%>
对!就是这样;
说一下这里面几个字符的作用
~:对,你没看错,就是这么一个符号不是我敲错了,不能直接.length必须加上~
!'':叹号后面是单引号,不要写错了,他的作用是:当你后台传过来的数据中并没有username时,你不这样写的话会报错,而当你这样写了之后如果你的单引号里没有值,前台会显示空字符串,有值的话就会显示你写的值了
还有一些其他的类似于elsefor,while,map之类的方法我就不一一介绍了,可以去beetl官方文档看(http://ibeetl.com/guide/)
Ps:我的jfinal版本是3.0如果你的版本是2.几那么配置方法就不一样了,详情请参考beetl官方文档