Spring MVC中如果只使用JSP做视图,可以使用下面这段即可解决:

<!-- 视图解释类 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"/><property name="suffix" value=".jsp"/><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑  --><property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /></bean>

但很多时候我们需要的不只是JSP做view,可能会引用velocity、freemarker等做为view引擎时,需要加入额外的配置。

下面是在配置文件中加入Freemarker的方法,与JSP并存:

    <!--JSP视图解析器--><bean id="viewResolverJsp" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"/><property name="suffix" value=".jsp"/><property name="viewClass" value="org.springframework.web.servlet.view.InternalResourceView"/><property name="order" value="1"/></bean><!-- 配置freeMarker视图解析器 --><bean id="viewResolverFtl" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/><property name="contentType" value="text/html; charset=UTF-8"/><property name="exposeRequestAttributes" value="true" /><property name="exposeSessionAttributes" value="true" /><property name="exposeSpringMacroHelpers" value="true" /><property name="cache" value="true" /><property name="suffix" value=".ftl" /><property name="order" value="0"/></bean><!-- 配置freeMarker的模板路径 --><bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><property name="templateLoaderPath" value="/WEB-INF/views/"/><property name="freemarkerVariables"><map><entry key="xml_escape" value-ref="fmXmlEscape" /></map></property><property name="defaultEncoding" value="UTF-8"/><property name="freemarkerSettings"><props><prop key="template_update_delay">3600</prop><prop key="locale">zh_CN</prop><prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop><prop key="date_format">yyyy-MM-dd</prop><prop key="number_format">#.##</prop></props></property></bean><bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape"/>

在JSP和Freemarker的配置项中都有一个order property,上面例子是把freemarker的order设置为0,jsp为1。

意思是找view时,先找ftl文件,再找jsp文件做为视图。

测试:

Controller:

package com.my.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;@Controller
@RequestMapping(value="ftl")
public class TestFreemarker {@RequestMapping(method=RequestMethod.GET)public ModelAndView index() {ModelAndView view = new ModelAndView("TestFreemarker/index");view.addObject("message", "Say hi for Freemarker.");return view;}}

index.ftl:

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

输出:

转载于:https://www.cnblogs.com/HD/p/4142822.html

[Spring MVC] - JSP + Freemarker视图解释器整合相关推荐

  1. [Spring MVC] - JSP + Freemarker视图解释器整合(转)

    Spring MVC中如果只使用JSP做视图,可以使用下面这段即可解决: <!-- 视图解释类 --><bean class="org.springframework.we ...

  2. Spring MVC(5):视图 视图解析

    Spring MVC 支持的视图技术 Spring MVC 请求处理方法处理完成后,会返回一个 ModelAndView 对象,该对象包含了模型对象的信息,和视图逻辑名,再借助视图解析器(ViewRe ...

  3. Spring MVC中的视图解析ViewResolver

    http://blog.csdn.net/prince2270/article/details/5891085 在Spring MVC中,当Controller将请求处理结果放入到ModelAndVi ...

  4. Spring MVC JSP 表单标签教程

    在本教程中,我们将通过一个示例讨论所有与Spring MVC相关的JSP表单标签. 在本教程中,我们将使用下面重要的弹簧MVC表单标签进行讨论: 表单标签 文本字段标签 选择标签 复选框 无线电盒 密 ...

  5. 中input标签赋值_Java程序员:Spring MVC JSP表单标签示例

    Spring MVC的表单标签为Java程序员提供了许多额外的支持.例如数据绑定,允许自动设置数据并从Java对象中检索数据. 从2.0版本开始,Spring提供了一组全面的数据绑定感知标记,用于在使 ...

  6. jsp ajax三级联动,Spring MVC+JSP实现三级联动

    initProvinces(); });/** * 获取省列表*/function initProvinces() { $('#province').empty(); $.ajax({ type :& ...

  7. Spring+Spring Mvc+Mybatis+MySqlite(SSM框架整合Xml配置)

    MyBatis Spring-mvc的对应配置 Log的配置 MyBatis 我们在resources下创建spring-mybatis.xml,对应的参数配置 <?xml version=&q ...

  8. Spring MVC 中自定义视图 @Component 及 配置 多个视图解析器 Excel视图

    首先我们建立一个自己的View实现View接口.要注意在类上面加上@Component的注解,因为看BeanNameViewResolver的源码知道,是直接从ioc容器里面拿的根据名字拿的视图,所以 ...

  9. SSM框架超级详细整合记录:Spring+Spring MVC+MyBatis+Maven+MySQL

    1.前言 本文主要对SSM框架整合的过程进行记录,作为之后参考的依据. 1.1.参考文章 Spring代码实例系列-绪论 Spring MVC代码实例系列-绪论 MyBatis代码实例系列-绪论 1. ...

最新文章

  1. [vue]饿了么的element-ui修改样式后不生效
  2. Django开发社交类网站必备的10个第三方应用
  3. 最佳圆角字体,设计师的最爱
  4. [framework] debuging
  5. 3个查看远端端口是否畅通的方法
  6. Java集合--WeakHashMap
  7. Python中第三方库Requests库的高级用法详解
  8. 如何向Mac Dictionary App添加其他语言
  9. 【Docker】问题汇总
  10. 【转】MFC中用CFile读取和写入文件2
  11. 为期45天的记忆训练
  12. 行业案例 | 数据分析在银行业应用之欺诈检测
  13. 计算机公式固定数值符号,【2人回答】Excel如何锁定,如何Excel某计算公式中锁定其中一个数值?-3D溜溜网...
  14. 自抗扰控制中的扩张状态观测器收敛性分析1
  15. Jquery通过append新元素之后事件绑定问题的解决方案
  16. vue-meta 设置页面 <meta>
  17. unexpected error while obtaining UI hierarchy
  18. 错题集:Censored!
  19. 参数化建模类毕业论文文献有哪些?
  20. 区块链 - DAPP

热门文章

  1. 牛顿迭代法(Newton's Method)
  2. C++理解全局变量在调用函数中的应用
  3. asyncio简单入门(二)
  4. 15.2 java中迭代器的注意事项
  5. oracle游标错误,ORACLE游标与错误处理
  6. Java数组常见操作
  7. Linux系统编程——基于文件描述符的文件操作(1)
  8. Ubuntu composer安装失败解决方案
  9. 《需求工程——软件建模与分析》读后感之三
  10. 一个大浪Java罢工(一个)安装JDK和环境变量配置