springmvc使用freemarker

来源:互联网 发布:数据采集系统标准规范 编辑:程序博客网 时间:2024/05/14 02:29

一、导入freemarker的jar包

freemarker-2.3.15.jar


二、在springmvc.xml文件中配置freemarker的视图解析器

    <!-- freemarker的视图解析 配置freeMarker的模板路径 --><bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">         <property name="templateLoaderPath" value="/WEB-INF/view/" />         <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>         </props>        </property>       </bean>       <!-- FreeMarker视图解析    在这里配置后缀名ftl和视图解析器-->       <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">        <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"></property>        <property name="suffix" value=".ftl" />        <property name="contentType" value="text/html;charset=utf-8" />        <property name="exposeRequestAttributes" value="true" />        <property name="exposeSessionAttributes" value="true" />        <property name="exposeSpringMacroHelpers" value="true" />       </bean>   


三、编写controller测试freemarker

package com.hbut.ssm.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class TestFreemarker {    @RequestMapping("/freemarker")    public String index(Model model){    model.addAttribute("message","kaxifa");    return "free";    }}


一点说明:

1.return "free";转发给视图的全路径是"WEB-INF/view/free.ftl";

2.由于freemarker的解析器配置了模板路径以及后缀.ftl,在此无需配置全路径



四、freemarker页面----free.ftl

<Html>    <head>        <title>${message}</title>    </head>    <body>        <b>${message}</b>    <body></html>


五、测试解析freemarker



六、freemarker中常见的操作

1.取list的索引   item_index(_index为取得list的索引)

<#list itemsList as item>
  ${item_index},${item.name},${item.price}<br>
</#list>

2.取list的size

 itemsList?size   (说明:?替换.  后面家函数)

3.list的迭代

<#list itemsList as item>
  ${item_index},${item.name},${item.price}<br>
</#list>

4.迭代list里的map

 <#list itemsMap as map>
  ${map["name"]}
 </#list>


0 0
原创粉丝点击