新一代的java模板引擎--beetl

时间:2022-11-17 17:45:35

        模板引擎为了使用户页面和业务数据相互分离而产生,它将从后台返回的数据生成特定格式的文档,用于网站的模板引擎就是生成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