FreeMarker和Velocity都是一种类JSP的模板语言,FreeMarker相对于Jsp繁琐的Tag定义,他的Macro机制相对于Tag更加的容易和简单,并且提供了诸多的内置函数;FreeMarker更加确保强制用户保持MVC的好的风格;
在struts2中更加支持了JspSupportServlet,可以将Struts2的Tag用Macro引入FreeMarker FTL模板中;
在Jsp中有
<%@ include file="" %>
<jsp:include page="" flush="true"/>
优势:使得Header和Footer等页面来防止重复的页面要重复编码到各个页面中去;
缺点:我们不得不利用在多个页面上来引入includes标签;
SiteMesh用配置文件和装饰器批量的设置布局,可以只在一个布局装饰器中包含公共模块,可以避免Include指令出现在各个页面上,这样也可以很轻松的改变布局;
方式:
1)找出布局模式一样,内容不同的的界面
做成html页面文档
2)找出界面中样式一样,内容不同的层
抽取出div代码