主要使用到的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. Unity3D——Epirome框架_TimerManager计时任务管理器

    1.Timer timer = new Timer(); 创建时间管理器 参数(float time, TimeUnit timeUnit,bool ignoreTimeScale = false, ...

  2. android 解密工具

    androguard. 这个是python写的 安装: pip install androguard

  3. 在CNN网络中roi从原图映射到feature map中的计算方法

    在使用fast rcnn以及faster rcnn做检测任务的时候,涉及到从图像的roi区域到feature map中roi的映射,然后再进行roi_pooling之类的操作.比如图像的大小是(600 ...

  4. zabbix auto discovery

    1.configuration>discovery>create discovery rule ip range:192.168.43.2-254 check: http 80 2.con ...

  5. Maven实战读书笔记(一):Maven概述

    1.1 Maven是什么,能做什么 Maven是一个跨平台的项目管理工具,主要服务于Java平台的项目构建.依赖管理和项目信息管理. Maven的用途之一是项目构建,能够自动化构建过程,从清理.编译. ...

  6. (待解决)IDEA配置JDBC查询数据库PreparedStatement pstmt = dbconn.prepareStatement(sql)出现空指针错误

    package com.demo; import java.io.*; import java.sql.*; import java.util.*; import javax.servlet.*; i ...

  7. 树莓派 Centos7 安装EPEL 7

    cat > /etc/yum.repos.d/epel.repo << EOF [epel] name=Epel rebuild for armhfp baseurl=https:/ ...

  8. 二手GTX650

    某鱼入手一二手华硕显卡GTX650 店主信誉挺高的,到手图片 我K,被骗了翻新的假显卡,华硕没有过这个样式的GTX650啊,还是新的散热风扇及前挡板,不管了先把风扇拆了,竟然连风扇散热硅脂都是刚刚涂上 ...

  9. PL/SQL编程接触

    1.认识PL/SQL 结构化查询语言(Structured Query Language,SQL)是用来访问和操作关系型数据库的一种标准通用语言,它属于第四代语言(4GL),简单易学,使用它可以很方便 ...

  10. WebStorm下载安装

    下载地址:https://www.jetbrains.com/webstorm/ 注册码: http://idea.codebeta.cn