freemarker基础-小结

本文详细介绍了Freemarker模板引擎中的关键指令,包括include、import、assign、macro及条件和循环语句的使用方法。通过实例解析,帮助读者理解如何在模板中有效地运用这些指令来提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官网:https://freemarker.apache.org/docs/

①include指令    
    用于导入文件,它可以在模版中插入其他的静态文件,或者是freemarker模版。
    
    被包含模板的输出格式是在include标签出现的位置插入的。
    include被包含的文件和包含它的模板共享变量,就好像是被复制粘贴进去的一样。
    
②import指令    
    类似于java里的import,它导入文件,然后就可以在当前文件里使用被导入文件里的宏组件
    import也可以被引入多次, 但是多次引入和单次引入的效果是一样的
    <#import path as hash>
    
    import是将标签中指定的模板中的已定义的宏、函数等导入到当前模板中,并在当前文档中指定一个变量作为该模板命名空间,以便当前文档引用。
    与include的区别是该指令不会将import指定的模板内容渲染到引用的模板的输出中
    
    <#import "lib/my_test.ftl" as com>
    
    上面例子它会为lib/my_test.ftl创建一个新的哈希表变量,就是空的命名空间com,my_test.ftl这个模板的所有变量放置在com的Map对象中
    
③assign指令    
    为该模板页面创建或替换一个顶层变量
    
④macro    
    创建一个宏变量、宏变量存储模板片段(称为宏定义体),可用作用户定义的指令
    使用@符号调用
    
    
⑤<#if obj??>    
    判断obj??是否为null,如果不为null时才可以执行if里面的内容
    
<#if obj?? && obj != "">    
     obj??是判断obj不为null、并不能判断obj不为空
    
⑥<@XXXX>    
    调用用户定义的指令,例如宏。参数的含义以及支持和必需参数的集合取决于具体的用户定义指令
    
⑦<#list sequence as item>    
    列出序列(或集合)的最简单形式
    
    objs包含 ['a', 'b', 'c']序列
    
    <#list objs as obj>  $ {obj}</#list>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值