freemarker最基本操作

2017-11-08  本文已影响15人  吐痰高手

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>
    <!--还有其他配置,我也不知道干嘛的,上网查-->
上一篇 下一篇

猜你喜欢

热点阅读