SSM之旅(二)--换个视图解析器FreeMarker

对于一些不写jsp的同学来说,freemarker是个不错的选择,什么是freeMarker,没错,他是一个动态模板引擎,并用来生成输出文本(HTML网页、电子邮件配置文件源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。具体啥的自己是了解。

1、想要引入freemarker,首先你需要引入jar包,毕竟他是一个java类库

<!--freeMarker依赖--><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-context-support</artifactId>    <version>3.2.4.RELEASE</version></dependency><dependency>    <groupId>org.freemarker</groupId>    <artifactId>freemarker</artifactId>    <version>2.3.19</version></dependency>

2、与springMVC进行整合,修改servlet-context.xml提供视图解析

<!-- 设置freeMarker的配置文件路径 -->
    <bean id="freemarkerConfiguration" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="location" value="classpath:config/freemarker_static.properties"/>
    </bean>

    <!-- 配置freeMarker参数 -->
    <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <property name="freemarkerSettings" ref="freemarkerConfiguration"/>
        <property name="templateLoaderPath"><value>/WEB-INF/views/</value></property>
    </bean>

    <!-- 配置freeMarker视图解析器 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
        <property name="cache" value="true" />
        <property name="prefix" value="" />
        <property name="suffix" value=".ftl" />
        <property name="contentType" value="text/html;charset=UTF-8"></property>
        <property name="requestContextAttribute" value="request" />
        <property name="exposeSpringMacroHelpers" value="true" />
        <property name="exposeRequestAttributes" value="true" />
        <property name="exposeSessionAttributes" value="true" />
        <property name="order" value="0" />
    </bean>

    <!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 -->
   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name = "prefix" value="/WEB-INF/views/"></property>
        <property name = "suffix" value = ".jsp"></property>
        <property name="order" value="1" />
    </bean>

其实我们可以提供多个视图解析器,并且按照order设置优先级来调用,从小到大。

3、控制器

public class IndexController {

    @RequestMapping(value = "/index")
    public ModelAndView indexApi(final Model model){

        ModelAndView mv = new ModelAndView();
        mv.addObject("name", "this is freemaker test!!!");
        return mv;
    }
}

注意,return mv;是返回逻辑视图与数据,如果是直接返回return "index" 那么这只是返回了逻辑视图,需要将数据放入到model中,传入到resquest的域里面进行返回。

freeMarker的作用很多,以后时间进行详解和补充。

这一讲引入了freemarker,好的,我们下一章是如果进行请求响应的类型区别。

时间: 2024-10-08 01:46:32

SSM之旅(二)--换个视图解析器FreeMarker的相关文章

SpringMVC(二十四) 视图解析流程

目标方法无论返回的是string.ModelAndView.View,最终都被解析成modelAndView 关键的实现代码是在springmvc.xml配置文件中定义解析器. 参考代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http:

SpringMVC视图解析器

AbstractController 先创建一个MyAbstorctController类,并且让他继承AbstractController父类,并实现该父类中的方法. public class MyAbstorctController extends AbstractController{ protected ModelAndView handleRequestInternal(HttpServletRequest httpServletRequest, HttpServletResponse

SpringMVC入门案例及请求流程图(关于处理器或视图解析器或处理器映射器等的初步配置)

SpringMVC简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 Spring结构图 SpringMVC请求流程图 SpringMVC请求流程图语述: request-------->DispatcherServler(中央调度器/前端控制器)-----> HandlerMapping(处理器映射器)------>返回一个执行链----->将执行链转交给HandlerAdap

SpringMVC视图解析器 转

  前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视 图解析器.当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,接着 Spring会分析看哪一个HandlerMapping定义的所有请求映射中存在对该请求的最合理的映射.然后通过该HandlerMapping取得 其对应的Handler,接着再通过相应的HandlerAdapter处理该Handler.H

springmvc 之 SpringMVC视图解析器

当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,接着Spring会分析看哪一个HandlerMapping定义的所有请求映射中存在对该请求的最合理的映射.然后通过该HandlerMapping取得其对应的Handler,接着再通过相应的HandlerAdapter处理该Handler.HandlerAdapter在对Handler进行处理之后会返回一个ModelAndView对象.在获得了ModelAndView对象之后,

SpringMVC与Freemarker的集成以及多视图解析器配置

一.Spring MVC视图解析器 视图解析器的工作流程大致是这样的:Controller的某个方法执行完成以后,返回一个视图(比如:listUser),视图解析器要做的工作就是找到某个对象 来完成视图的渲染,或者跳转到其他的逻辑视图.这里的渲染对象通常就是我们的jsp文件或者我们下面用的Freemarker(例如listUser.jsp或者 listUser.ftl).渲染完成以后,将解析结果发送到客户端浏览器. 下面介绍一下本文需要用到的解析器(更多解析器资料,请参考 http://e-fr

学习SpringMVC——说说视图解析器

各位前排的,后排的,都不要走,咱趁热打铁,就这一股劲我们今天来说说spring mvc的视图解析器(不要抢,都有位子~~~) 相信大家在昨天那篇如何获取请求参数篇中都已经领略到了spring mvc注解的魅力和套路了.搭上@RequestMapping的便车,我们可以去到我们想去的地方(方法)去,借助@RequestParam.@PathVariable等我们可以得到请求中想要的参数值,最终还能够通过神奇的“return SUCCESS”到达我们的目的地.今天主要就来说说在达到目的地的路上,我们

springmvc 前端控制器,映射器,适配器,视图解析器

1.前端控制器DispatcherServlet的配置,在web.xml进行配置即可跟servlet的配置方式相同 1)contextConfigLocation配置sprimgmvc加载的配置文件(配置处理器映射器,适配器等等)如果不配置contextConfigLocation,默认加载的是/WEB-INF/servlet名称-servlet.xml(springmvc-servlet.xml) 2) 第一种:*.action,访问以.action结尾 由DispatcherServlet进

SpringMVC系列(七)视图解析器和视图

在springmvc.xml里面配置视图解析器 1 <!-- 配置视图解析器: 如何把 handler 方法返回值解析为实际的物理视图 --> 2 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 3 <property name="prefix" value="/WEB-INF/views/">&l