zoukankan      html  css  js  c++  java
  • FreeMarker学习(springmvc配置)

    springMvc配置

    <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <property name="templateLoaderPath" value="/WEB-INF/templates/"/>
        <property name="defaultEncoding" value="utf-8" />
        <property name="freemarkerSettings">
          <props>
            <prop key="template_update_delay">10</prop>
            <prop key="locale">zh_CN</prop>
            <prop key="datetime_format">yyyy-MM-dd</prop>
            <prop key="date_format">yyyy-MM-dd</prop>
            <prop key="number_format">#.##</prop>
            <prop key="auto_import">frame/base.ftl as base</prop>
            <prop key="auto_include">frame/base.ftl</prop>
          </props>
        </property>
        <!--设置一些常用的全局变量 -->
        <property name="freemarkerVariables">
            <map>
                <entry key="xml_escape" value-ref="fmXmlEscape" />
                <entry key="webRoot" value="/shop"></entry>
                <entry key="jsRoot" value="/shop/js"></entry>
                <entry key="xml_escape" value-ref="fmXmlEscape" />
            </map>
        </property>
    </bean>
    
    <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
        <property name="cache" value="true" />
        <property name="suffix" value=".ftl" />
        <property name="contentType" value="text/html;charset=UTF-8" />
        <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
        <property name="allowSessionOverride" value="true" />
        <property name="allowRequestOverride" value="true" />
        <property name="exposeSpringMacroHelpers" value="false" />
        <property name="exposeRequestAttributes" value="true" />
        <property name="exposeSessionAttributes" value="true" />
        <property name="requestContextAttribute" value="request" />
        <property name="order" value="0" />
    </bean>
    
    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="" />
        <property name="viewNames" value="*.html,*.jsp" />
        <property name="suffix" value="" />
        <property name="viewClass"
            value="org.springframework.web.servlet.view.InternalResourceView" />
        <property name="order" value="1"></property>
    </bean>

    freemarkerSettings全局配置:

    • template_update_delay:模板缓存时间,超过这个时间值,直接从磁盘获取最新的模板。
    • locale:配置本地化语言
    • datetime_format:配置日期时间格式
    • date_format:配置日期格式
    • number_format:配置数字格式
    • auto_import:自动导入模板文件,需要定义一个命名空间
    • auto_include:自动包含模板文件,不需要定义一个命名空间

     其他详情参考setting配置:https://freemarker.apache.org/docs/api/freemarker/template/Configuration.html#setSetting-java.lang.String-java.lang.String-

    freemarkerVariables全局变量设置:

    • xml_escape
    • webRoot
    • jsRoot
    • xml_escape

    FreeMarkerViewResolver:

    • order:匹配视图解析器优先级,值越小优先级越高。如果匹配不成功,则自动选择order=1的其他解析器,目前的通用解析器可以解析.html跟.jsp的视图,如果需要其他视图的解析器,可以自行添加。
    • exposeRequestAttributes、exposeSessionAttributes两个属性都被设置为true。结果是请求和会话属性都被复制到模板的属性集中,可以使用FreeMarker的表达式语言来访问并显示。使用这些宏,必须设置FreeMarkerViewResolver的exposeSpringMacroHelpers属性为true。
  • 相关阅读:
    数据结构前言
    Linux---远程连接、命令行基础、文件及目录管理
    HTTP协议
    Docker---dockerfile
    Docker---指令
    Docker---介绍
    进程模块的使用
    numpy---(精简)
    OpenJudge/Poj 2105 IP Address
    OpenJudge 2786 Pell数列
  • 原文地址:https://www.cnblogs.com/lpob/p/10835824.html
Copyright © 2011-2022 走看看