freemarker你需要了解的几件事

一.FreeMarker不能容忍引用不存在的变量,除非明确地告诉它当变量不存在时如何处理。可以指定一个默认值来避免变量丢失这种情况,通过在变量名后面跟着一个!和默认值,如:<h1>Welcome ${user!"Anonymous"}</h1>。也可以在变量名后面通过放置??来询问FreeMarker一个变量是否存在。将它和if指令合并,那么如果user变量不存在的话将会忽略整个问候代码段:<#if user??><h1>Welcome ${user}!</h1></#if>。exp1??和exp1?exists是相等的,而且(exp1)??和(exp1)?exists也是相等的。

二.在web应用中,FreeMarker可以通过${Parameters["参数名"]!}读取http参数,通过${base}可获取上下文路径,相当于在jsp中调用request.getContextPath()。实际上在FreeMarker文件中直接写${request.getContextPath()}也是可以的。

三.Struts2中使用FreeMarker时,解析FreeMarker模板中变量的顺序如下:
1,FreeMarker模板内建的变量;
2,ValueStack中的变量;
3,ActionContext中的变量;
4,HttpServletRequest中的属性;
5,HttpSession中的属性;
6,ServletContext范围的属性.

四.FreeMarker中使用注释的语法为<#-- 内容 -->

五.在作为struts2的视图组件使用时,FreeMarker如果要获取java常量可以这样写:

stack.findValue("@com.zs.mis.bpm.define.production.ProductionTaskProcess@STEP_BEGIN")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值