主要使用到的jar 文件:spring mvc +freemarker.jar

第一步:spring mvc 集成 freemarker

  1. <!-- 定义跳转的文件的前后缀 ,视图模式配置-->
  2. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  3. <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->
  4. <property name="prefix" value="/backstage/jsp/" />
  5. <property name="suffix" value=".jsp" />
  6. <property name="viewClass" value="org.springframework.web.servlet.view.InternalResourceView"/>
  7. <property name="order" value="1"/>
  8. </bean>
  9. <!-- 配置freeMarker视图解析器 -->
  10. <bean id="viewResolverFtl" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
  11. <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>
  12. <property name="contentType" value="text/html; charset=UTF-8"/>
  13. <property name="exposeRequestAttributes" value="true" />
  14. <property name="exposeSessionAttributes" value="true" />
  15. <property name="exposeSpringMacroHelpers" value="true" />
  16. <property name="cache" value="true" />
  17. <property name="suffix" value=".ftl" />
  18. <property name="order" value="0"/>
  19. </bean>
  20. <!-- 配置freeMarker的模板路径 -->
  21. <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
  22. <property name="templateLoaderPath" value="/backstage/jsp/"/>
  23. <property name="freemarkerVariables">
  24. <map>
  25. <entry key="xml_escape" value-ref="fmXmlEscape" />
  26. </map>
  27. </property>
  28. <property name="defaultEncoding" value="UTF-8"/>
  29. <property name="freemarkerSettings">
  30. <props>
  31. <prop key="template_update_delay">3600</prop>
  32. <prop key="locale">zh_CN</prop>
  33. <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
  34. <prop key="date_format">yyyy-MM-dd</prop>
  35. <prop key="number_format">#.##</prop>
  36. </props>
  37. </property>
  38. </bean>
  39. <bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape"/>

【重点:在JSP和Freemarker的配置项中都有一个order property,上面例子是把freemarker的order设置为0,jsp为1。意思是找view时,先找ftl文件,再找jsp文件做为视图。】

第二步:controller代码

  1. package com.wlsq.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.RequestMethod;
  5. import org.springframework.web.servlet.ModelAndView;
  6. @Controller
  7. @RequestMapping(value="/ftl")
  8. public class FreemarkerTest {
  9. @RequestMapping(value="/index",method=RequestMethod.GET)
  10. public ModelAndView index() {
  11. ModelAndView view = new ModelAndView("TestFreemarker/index");
  12. view.addObject("message", "Say hi for Freemarker.");
  13. return view;
  14. }
  15. }

第三步:TestFreemarker/index.ftl

    1. <Html>
    2. <head>
    3. <title>${message}</title>
    4. </head>
    5. <body>
    6. <b>${message}</b>
    7. <body>
    8. </html>

spring mvc 集成freemarker模板的更多相关文章

  1. spring mvc集成freemarker使用

    freemarker作为视图技术出现的比velocity早,想当年struts风靡一时,freemarker作为视图层也风光了一把.但现在velocity作为后起之秀的轻量级模板引擎,更容易得到青睐. ...

  2. spring mvc集成velocity使用

    目前流行的三大页面视图神器是:老牌大哥jsp.后起之秀freemarker和velocity.这里不详细比较这三者的优劣,总体来说,jsp是标配,但后面两个更严格的执行了视图与业务的分离,页面里是不允 ...

  3. Spring Boot 集成 FreeMarker 详解案例(十五)

    一.Springboot 那些事 SpringBoot 很方便的集成 FreeMarker ,DAO 数据库操作层依旧用的是 Mybatis,本文将会一步一步到来如何集成 FreeMarker 以及配 ...

  4. springboot学习笔记:5.spring mvc(含FreeMarker+layui整合)

    Spring Web MVC框架(通常简称为"Spring MVC")是一个富"模型,视图,控制器"的web框架. Spring MVC允许你创建特定的@Con ...

  5. 【转载】Spring MVC 整合 Freemarker

    前言 1.为什么要使用Spring MVC呢? 2.为什么要使用Freemarker呢? 3.为什么不使用Struts2呢? 此示例出现的原因就是发现了struts2的性能太差,所以学习Spring ...

  6. 【FreeMarker】Spring MVC与FreeMarker整合(二)

    前一篇介绍了FreeMarker的基本使用,本例介绍Spring MVC与FreeMarker整合 不熟悉项目搭建,可参考 [FreeMarker]FreeMarker快速入门(一) 整合 1.新建S ...

  7. Spring MVC整合 freemarker

    1.什么是Spring MVC? Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱 ...

  8. Spring MVC集成slf4j-logback

    转自: Spring MVC集成slf4j-logback 1.  Spring MVC集成slf4j-log4j 关于slf4j和log4j的相关介绍和用法,网上有很多文章可供参考,但是关于logb ...

  9. Spring mvc+hibernate+freemarker(实战)

    Spring mvc+hibernate+freemarker(实战) 博客分类: Spring Spring mvchibernatefreemarkerwebjava  今天我为大家做了一个 sp ...

随机推荐

  1. js运行机制(线程)

    浏览器线程 js运作在浏览器中,是单线程的,即js代码始终在一个线程上执行,这个线程称为js引擎线程. 浏览器是多线程的,除了js引擎线程,它还有:  UI渲染线程 浏览器事件触发线程 http请求线 ...

  2. scroll offset & client总结

    oEvent.clientX 是指鼠标到可视区左边框的距离. oEvent.clientY 是指鼠标到可视区上边框的距离. clientWidth  是指可视区的宽度. clientHeight  是 ...

  3. freemarker list集合去重,实现hashset

    在freemarker中没有提供去重的方法,虽然有提供定义hash的方法,如:<#assign myHash = { "name": "mouse", & ...

  4. idea java 注释模板配置

    在网上找了好久,好多的文章都有一个共同的病点就是“@param注释当有多个参数时候,全部放在了一行里面”,非常不友好. 以下是我整理好的,完全按照eclipse的注释风格. !!!先看最后实现的效果图 ...

  5. WebDriverException: Message: unknown error: Chrome failed to start: crashed

    the last answer WebDriverException: Message: unknown error: Chrome failed to start: crashed

  6. sublime中项目无法添加文件夹

    问题记录 mac中,使用vue init webpack project 后,在sublime中打开,但是添加新文件夹和删除,总提示没有权限, 然后用git提交吧 也不行,每次都要sudo 出现的提示 ...

  7. 整理几个牛人博客以及OJ

    Blogs 陈立杰(wjmzbmr):http://wjmzbmr.com/ 飘过的小牛:http://blog.csdn.net/niushuai666 王垠:http://www.yinwang. ...

  8. [JOYOI] 1124 花店橱窗

    题目限制 时间限制 内存限制 评测方式 题目来源 1000ms 131072KiB 标准比较器 Local 题目背景 xq和他的老婆xz最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里.但是他们 ...

  9. CentOS7安装Tomcat9并配置

    划重点:安装tomcat之前必须先安装jdk  安装教程 1.下载 Tomcat 9 CentOS 7 下创建目录并下载文件:// 链接已更新 cd /usr/local/ mkdir tomcat ...

  10. 自动化测试如何解析excel文件?

    前言 自动化测试中我们存放数据无非是使用文件或者数据库,那么文件可以是csv,xlsx,xml,甚至是txt文件,通常excel文件往往是我们的首选,无论是编写测试用例还是存放测试数据,excel都是 ...