1.声明变量
<#assign a='字符串'/>
<#assign b=123/>
2.取值
//基础类型和字符串
${变量名}
#{name}
//实体类中的成员变量
${实体类.成员变量名}
${user.name}
//为取值设置默认值
${变量!默认值}//如果变量不存在,或者为空,则输出默认值
${user.name!'隔壁老王'}
//获取日期类型数据
${日期类型变量?String('yyyy-MM-dd HH:mm:ss')}//取值同时格式化
//如果不进行格式化,则会去除1970年到此日期的毫秒数(应该是吧)
${date?String('yyyy-MM-dd')}
!注意! 这个date必须是java.sql.Date类型的变量
如果使用的是java.util.Date类型的数据,要先转化成java.sql.Date类型
//原样输出,不转移其中的特殊字符内容
${变量名?html}
//列表取值
${一个list[下标]}
3.bool型取值
bool型在输出的时候是不能正常输出true或者false的
那个是个逻辑值,不是字符串,所以要自己定义输出内容
1.要先在spring中配置
<property>
<prop key="boolean_format">yes,no</prop>
</property>
2.或者
${var?string('真的输出值','假的输出值')}
4.spring中的配置
<bean id="freemarkerConfigasdfsdf"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value=""/>
<property name="freemarkerSettings">
<props>
<!-- 设置标签类型 两种:[] 和 <>. []这种解析貌似快些 -->
<prop key="tag_syntax">auto_detect</prop>
<!-- 检查模板更新时间间隔,默认5s -->
<prop key="template_update_delay">1</prop>
<prop key="defaultEncoding">UTF-8</prop>
<prop key="url_escaping_charset">UTF-8</prop>
<prop key="locale">zh_CN</prop>
<prop key="boolean_format">yes,false</prop>
<!--时间格式化-->
<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
<prop key="date_format">yyyy-MM-dd</prop>
<prop key="time_format">HH:mm:ss</prop>
<prop key="number_format">0.######</prop>
<!--去掉多余的空格-->
<prop key="whitespace_stripping">true</prop>
<prop key="auto_import">/WEB-INF/ftl/spring.ftl as s</prop>
<prop key="date_format">yyyy-MM-dd</prop>
</props>
</property>
<property>
<map>
<entry key="role" value-ref="roleDirectiveModel"/>
</map>
</property>
<!--还有其他配置,我也不知道干嘛的,上网查-->
网友评论