新手配置springmvc+freemarker过程

来源:互联网 发布:java流媒体服务器 编辑:程序博客网 时间:2024/05/01 16:42

在spring mvc中配置freemarker,首先你需要在工程中引入包


引入了jar包之后,就可以开始在springmvc的配置文件中,配置freemarker的beans

首先定义视图解析器为freemarker,然后后缀那里可以配置为html那样就可以让html具有jsp的${}取值功能了,当然还有其他很多东西

<bean        class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"        p:prefix="/" p:suffix=".ftl">        <property name="cache" value="false" />        <property name="viewClass"            value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />        <property name="contentType" value="text/html;charset=UTF-8"></property>        <property name="exposeRequestAttributes" value="true" />        <property name="exposeSessionAttributes" value="true" />        <property name="exposeSpringMacroHelpers" value="true" />        <property name="requestContextAttribute" value="base"></property>        <property name="order" value="0"></property>    </bean>

这个是定义一些freemarker的属性,注意freemarker假如存在空值是会报错的

    <bean id="freemarkerConfig"        class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">        <property name="templateLoaderPath" value="" />        <property name="defaultEncoding" value="UTF-8" />        <property name="freemarkerSettings">            <props>                <prop key="tag_syntax">auto_detect</prop>                <prop key="template_update_delay">5</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">true,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="classic_compatible">true</prop> <!-- 空值处理 --><!--                 <prop key="auto_import">/ftl/tags/index.ftl as p,/ftl/spring.ftl as s</prop> -->            </props>        </property>    </bean>

xml配置完了之后,就是可以开始写测试控制器和页面了。

我这里写了个测试的控制器,传给页面几个值,然后在页面那里采用  ${msg}的格式进行取值

@RequestMapping(value = "test3")public ModelAndView test3(HttpServletRequest request, HttpServletResponse response) {ModelAndView mav = new ModelAndView("manager/test3");//List<String> list = new ArrayList<String>();list.add("A");list.add("B");list.add("C");mav.addObject("msg", "shenfeng");mav.addObject("list", list);return mav;}
这个是测试的html,本来是写了个循环的,可是后面你好像给我搞没了,也就没写。freemarker的输出语句用法百度一下就能了解

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd">  <html>      <head>          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">          <title>${msg}</title>      </head>      <body>          ${msg}   ftl    </body>  </html> 

运行tomcat,经过测试你就可以在浏览器看到结果

这种视图模板大大的提高了html的灵活性,我在工作中感觉有了这种东西,有时候html代码都可以让他自动生成,提高开发效率。

配置这个东西相对来说比较简单,应该可以很快的就学会


0 0
原创粉丝点击