美文网首页
freemarker自定义指令

freemarker自定义指令

作者: 吐痰高手 | 来源:发表于2017-11-08 22:18 被阅读14次
    1. 写实际逻辑
    定义一个类,实现TemplateDirectiveModel这个借口
    
    重写  execute(Environment env,Map params,TemplateModel[] loopVars,TemplateDirectiveBody body) 方法
    //第一个参数: Environment env环境变量
    //第二个参数: Map params 入参保存在这个map中
    //第三个参数: TemplateModel[] loopVars 返回值,这个返回值必须用freemarker的数据类型
    //要返回值,直接loopVars[0] = xxx;loopVars[1] = yyy;就行了
    //第四个参数: 一般用body.render(env.getOut())将指令标签中的内容输出
    
    1. 声明自定义指令
      需要在spring配置文件中为FreeMarkerConfigurer这个bean配置
    <property>
        <map>
            <entry key="指令名称" value-ref="TemplateDirectiveModel的实现类"/>
        </map>
    </property>
    
    1. 调用格式
    <@指令名 入参key1="入参value1" 入参key2="入参value2" ....; result1 , result2, result3
    
    </@指令名>
    

    相关文章

      网友评论

          本文标题:freemarker自定义指令

          本文链接:https://www.haomeiwen.com/subject/bqdumxtx.html