FreeMarker中自定义标签

先定义一个摸板类,该类实现TemplateMethodModel接口,在方法EXEC中定义自己的逻辑;
public class DatetimeMethodFreeMarker implements TemplateMethodModel {

private static final String DEFAULT_PATTERN = "yyyy-MM-dd";

/* (非 Javadoc)
* @see freemarker.template.TemplateMethodModel#exec(java.util.List)
*/
public Object exec(List args) throws TemplateModelException {
// TODO 自动生成方法存根
Date date = new Date();
String year = args.get(0).toString();
String month = args.get(1).toString();
String day = args.get(2).toString();
return DateUtil.getDateFromAs400(year, month, day);
}
}
定义一个FreemarkerManager的子类,将自定义的摸板类进行共享,这里将摸板的名字设为dateTimeMarker;这样在摸板文件中就可以通过dateTimeMarker来进行调用;
public class ExtendedFreemarkerManager extends FreemarkerManager {
protected Configuration createConfiguration(ServletContext servletContext)
throws TemplateException {
Configuration configuration = super.createConfiguration(servletContext);
configuration.setSharedVariable(
"dateTimeMarker",
new DatetimeMethodFreeMarker());
// 加入时间日期处理
return configuration;
}
}
在webwork.properties文件中增加:
webwork.freemarker.manager.classname=com.cigna.smsplatform.util.ExtendedFreemarkerManager;
在模板文件中通过${dateTimeMarker(year,month,day)}这种方法就可以调用我们自定义的摸板解析类了;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值