首页 > 代码库 > freemarker整理

freemarker整理

1、FreeMarker模板的内建变量有如下几个:
1,stack:代表ValueStack本身,可通过如下方式来访问其中的变量"${stack.findString(‘ognl?expr‘)}"
2,action:代表刚刚执行过的Action实例
3,response:代表HpptServletResponse实例
4,res:代表HpptServletResponse实例
5,request:代表HpptServletRequest实例
6,req:代表HpptServletRequest实例
7,session:代表HpptSession实例
8,application:代表ServletContext实例
9,base:代表用户请求的上下文路径.?
自定义freemarker标签(与java合用):
struts2?freemarker自定义标签一起用,就必须指定freemarker管理类
struts.freemarker.manager.classname=org.apache.struts2.views.freemarker.FreemarkerManager;禁用,没有使用的
1)、自定义类继承FreemarkerManager类,重写protected Configuration 
createConfiguration(ServletContext servletContext)throws TemplateException方法定义有哪些TemplateDirectiveModel类与它的别名[自定义标签名称],通过Spring来取
2)、在struts.xml中修改
<!-- 让struts来管理freemarker自定义标签类 struts.freemarker.manager.
classname=org.apache.struts2.views.freemarker.FreemarkerManager -->
<constant name="struts.freemarker.manager.classname" value=
"com.xxxx.struts.DirectiveFreemarkerManager"></constant>
3)、编写TemplateDirectiveModel,并交给Spring管理
4)、编写action,result—>字符串,type=”freemarker”
5)、访问admin/ftl_upper.action-?交给freemarker—>模板/template/upper.ftl

 

freemarker整理