Freemarker的介绍及使用

介绍freemarker:
官方文档是这样介绍的:
Apache FreeMarker is a template engine: a Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates……..
想看更多: Freemarker官网
大致意思就是:
Freemarker是一个模板引擎,一个Java库自动文本输出基于模板和数据变化。。。
特性
a. 强大的模板语言.
b. 多用途轻依赖
c. 国际化
d. XML处理能力
e. 通用的数据模型

开始配置
本章介绍的是Freemarker集成到SpringMVC

springmvc.xml配置:

<!-- 配置视图解析器 -->
    <bean id="freemarkerResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
        <property name="order" value="1" />
        <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</value>
        </property> -->
    </bean>


     <!-- ===================================================== -->
    <!-- ViewResolver For FreeMarkerConfigurer -->
    <!-- ===================================================== -->
    <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <property name="templateLoaderPath">
            <value>/WEB-INF/view/</value>
        </property>
        <property name="freemarkerSettings"><!-- 设置FreeMarker环境属性 -->
            <props>
                <prop key="template_update_delay">5</prop><!--刷新模板的周期,单位为秒 -->
                <prop key="default_encoding">UTF-8</prop><!--模板的编码格式 -->
                <prop key="locale">UTF-8</prop><!-- 本地化设置 -->
                <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
                <prop key="time_format">HH:mm:ss</prop>
                <prop key="number_format">0.####</prop>
                <prop key="boolean_format">true,false</prop>
                <prop key="whitespace_stripping">true</prop>
                <prop key="tag_syntax">auto_detect</prop>
                <prop key="url_escaping_charset">UTF-8</prop>
            </props>
        </property>
    </bean>

注意
很多人在用Freemarker做模板引擎的时候可能会经常犯的一个错误:
因为我们在配置视图解析器的时候一般会配置前缀prefix, 如下:

    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"></property>
        <property name="suffix" value=".ftl"></property>
    </bean>

但是: 当我们用freemarker做模板引擎的时候配置了这段代码:

  <property name="templateLoaderPath">
            <value>/WEB-INF/view/</value>
   </property>

所以prefix就不用配置了(不然会报错)。

然后就是写你业务层的代码。。。。。。

控制层代码(例子)

    @RequestMapping("userList")
    public String findList(ModelMap modelMap){
        List<User> findAllUser = userService.findAllUser();
        modelMap.addAttribute("users", findAllUser);
        return "user";
    }

视图层部分代码:

 <#list users as user>
      <tr>
        <td width="160" height="65" align="center" valign="middle"><span class="STYLE15">${user.id}</span></td>
        <td width="160" height="65" align="center" valign="middle"><span class="STYLE15">${user.name}</span></td>
        <td width="160" height="65" align="center" valign="middle"><span class="STYLE15">${user.password}</span></td>
          <td width="160" height="65" align="center" valign="middle"><span class="STYLE15">${user_index}</span></td>
      </tr>
      </#list>

结束语: 希望大家多多交流讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值