freemarker 实现自定义标签的方法

freemarker 实现自定义标签的方法 :
  1. 使用  <macro></macro>  宏定定义标签
  2. 实现  TemplateDirectiveModel的 execute() 方法,写相应的Java代码(这种方式更加的灵活)
 
使用 TemplatedirectiveModel 的 execute 方法 来实现自定义标签 
(1)页面调用和对于的实现类关系
          
 
(3) 参数说明:
    1. environment : 是环境变量,在这里我们可以拿到 通过  environment.getOut  拿到 Write 。
    2. map :这里我们可以等到参数,这里的参数是以 键值对的形式存在的。
    3. templateModel : 是所以数据类型的顶级接口,我们  可以通过  templateMole[i]  通过这个i变量来返回我们指定的第几个参数的返回值。
    4. templateBody : 是标签开始和结束的 内容 ,通过这个对象的 render()方法我可以接着执行 自定义标签里的 其他标签(freemarker内置标签或者我们自定义标签)
 
 
  (整数:TemplateNumberModel * ,字符串:TemplateScalarModel,boolean:TemplateBooleanModel 等), * 所以利用map.getValue(……)返回的是一个TemplateModel类型的数据,需转换成int类型数据。
注意:environment 是代表的当前freemarker运行环境,例如freemarker是和spring MVC 结合的,那么他就能拿到 spring MVC中的一些 DataAndView的值

Leave a Reply

will not be published