[freemarker篇]06.超级强大的自定义指令

Freemarker的自定义指令是很强大的,非常强大,在之后的教程中我会简单的做一个示例,让大家对其有所了解!如果做Freemarker编程,请好好看看API手册,可以说里面的内容很多!也是一门独立的语言!

开发Freemarker语言的作者,应该是不喜欢JSP吧!

直接上代码吧!

    /**
     * 测试研究题目为:
     * 测试自定义指令
     */
    @Test
    public void 自定义指令() {
        Map<String, Object> root = new HashMap<String, Object>();
        // 3.生成HTML文件
        fu.exportHtml("demo06.ftl", root, "自定义指令.html");
    }

 

模板代码,这个代码请仔细的阅读以下,里面有相关的东西,好好的弄以下

<!DOCTYPE html>
<html>
  <head>
    <title>处理集合数据</title>
   <meta charset="UTF-8"> 
  </head>
  
  <body>
    <!--使用自定义指令-->
    <#macro hello>
        <h2>我是胖先生,简单定义指令</h2>    
    </#macro>
    <!-- 调用指令 -->
    <@hello/>
    
    <!-- 设置参数固定参数的形式 -->
    <#macro mytest01 nums txt >
        <#list 0..nums as num>
            <h2>设置定义指令的参数,循环次数${num}--${txt}</h2>        
        </#list>
    </#macro>
    <@mytest01 nums=5 txt="饿了"/>
    
    <!-- 给定义指令的设置默认值 -->
    <#macro mytest02 nums=2 txt="吃不吃饭" >
        <#list 0..nums as num>
            <h2>设置定义指令的参数,循环次数${num}--${txt},含有默认值的参数一定放到最后面</h2>        
        </#list>
    </#macro>
    <@mytest02/>
    
    <!-- 强大的nested,官方文档,更强大! -->
    <#macro mytest03>
       <#nested 1 2 3/>
       <#nested 4 5 6/>
       <#nested 7/>
    </#macro>

    <@mytest03;a,b,c>
        <h3>你好,该死!${a}-${b!"无"}-${c!"暂缺"}</h3>
    </@mytest03>
  </body>
</html>

 

运行结果如下:

这篇文章,有一些水分,请见谅!!!

 

posted on 2015-12-01 11:52  胖先生  阅读(581)  评论(0编辑  收藏  举报