模板引擎为了使用户页面和业务数据相互分离而产生,它将从后台返回的数据生成特定格式的文档,用于网站的模板引擎就是生成HTML文档。
模板引擎以简单为主,其主要目的是为了让程序开发和美工设计人员分工明确;在代码生成过程中减少大量机械重复工作,大大提高开发效率,良好的设计使得代码重用,后期维护都降低成本。
一个好的模板引擎的使用要考虑的方面无外乎:功能是否强大,使用是否简单,整合性、扩展性与灵活性,性能。
Beetl的官方文档一开始就详细的介绍了这些内容:Beetl2.7.12 中文文档
时下流行的java模板引擎有:Freemarker,Vecloity,Beetl。Beetl号称最好的java模板引擎,Beetlsql又是一个秒杀Mybatis的全功能Java Dao工具。关于它的好处大家可以看一下官网。下面我列举一下它极具优势的几项:
1. 安全输出:
var list=null;
<%
for(user in list!){
%>
${user}
<%}%>
end
当用户集合为空时,不会报错。
2. 代码提示功能,如上面的代码去掉感叹号,就会提示报错:
>>08:21:16:表达式值为空(NULL):list位于2行 资源:<% for(us...
1|<%
2|for(userin list){
3|%>
4|${user}
5|<%}%>
6|end
3. 循环下的为空处理:
<%
for(user in userList)
{
print (user.name);
}elsefor{
print("no for userList");
}
%>
4. 调用java类:
<%
var list = [5,2,4];
%>
${ @java.util.Collections.max(list)} //输出为5
实际上JSP使用EL,JSTL,OGNL完全能够替代这些模板引擎,为什么要用他们呢?开源社区展开了很激烈的讨论:https://www.oschina.net/question/163220_82667