论坛首页 Java企业应用论坛

FTL自定义函数及宏

浏览 2743 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-02-02  

1.          可以在FTL中定义函数,调用context(一个全局类)中某些对象的方法,

例如:${getCode(bean.paramtype)},getCode就是自定义的一个函数:

                   <#function getCode id=0>

                   <#return _global.getCodelistName(id)>

</#function>

调用context中_global对象的一个getCodelistName方法。

_global定义:

                  public static void initialize(ServletContextEvent event){

                            event.getServletContext().setAttribute("_global", Global.instance());

                  }

2.          可以在FTL中定义宏,把一些通用的、使用率比较高的FTL代码抽象出接口,提高复用性和代码整洁度,

例如:<@options type="paramtype" value=property.id />,@options是自定义的一个宏,有type和value两个参数,用它们来生成<option>列表。

<#macro options type value=0>

<#list _global.getSysCodelists(type) as item>

<option value="${item.id}" ${(item.id==value)?string("selected","")}>

${item.listname}

</option>

</#list>

</#macro>

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics