`

Velocity学习(四)SpringMVC配置多个ViewResolver

阅读更多

Velocity学习(三)中讨论了一下在SpringMVC环境中使用Velocity模板引擎的配置。在实际开发中除了使用HTML之外可能也会使用其他视图如JSP,除了Velocity模板也许会用到FreeMark模板。SpringMVC通过配置多个视图解析器ViewResolver解决上述问题。

在SpringMVC配置JSP视图解析器和Velocity视图解析器

<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
	    <property name="prefix" value="/WEB-INF/jsp/"/>
	    <property name="suffix" value=".jsp"/>
	    <property name="order" value="1" />
	</bean>
	
	<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">  
	    <property name="resourceLoaderPath" value="/WEB-INF/vm" />  
	    <property name="configLocation" value="classpath:properties/velocity.properties"/>
	</bean> 
	
	 
	<bean id="velocityViewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
	    <property name="prefix" value="/WEB-INF/vm/"/>
	    <property name="suffix" value=".html"/>
	    <!--解决中文乱码-->
	    <property name="contentType" value="text/html;charset=UTF-8" />
	    <!-- 配置 velocity工具类  -->
	    <property name="toolboxConfigLocation" value="/WEB-INF/toolbox.xml"/>
	    <!-- Spring4 支持  velocity-tools2.0 -->
	    <property name="viewClass" value="org.lian.util.VelocityToolbox2View"/>
	    <!-- 开放request属性 -->
	    <property name="exposeRequestAttributes" value="true"/>   
	    <property name="requestContextAttribute" value="rc"/>
	    <property name="order" value="0" />
	</bean>
	

 通过一个“order”属性来设置视图解析器使用的优先级,数值越小优先级越高。使用优先级配置有一个很重要的问题需要注意:InternalResourceViewResolver 解析器的优先级要设置在视图解析器链的最低(具体原因请参考其他博文或者查看源码)这里VelocityViewResolver使用优先级要高于InternalResourceViewResolver 

在这种情况下JSP模板和Velocity模板可以正常解析,如果调换一下优先级那么JSP模板可以正常解析,而Velocity模板无法解析。

分享到:
评论

相关推荐

    springMVC学习

    SpringMVC 的核心思想是基于每个逻辑和功能是高可配置的架构和设计的。下面是 SpringMVC 的学习指南: 一、SpringMVC 核心思想介绍 SpringMVC 的核心思想是基于每个逻辑和功能是高可配置的架构和设计的。它可以与...

    velocity jsp多视图解析器整合

    本话题将详细讲解如何在Spring MVC框架中整合Velocity和JSP,实现多视图解析器的功能,从而根据需求返回不同的视图。 **1. Velocity模板引擎** Velocity是一个开源的Java模板引擎,它允许开发者将业务逻辑与展示...

    springmvc+mybatis+velocity整合实例

    总的来说,"springmvc+mybatis+velocity整合实例"提供了一个轻量级且功能齐全的Web开发基础,适合快速搭建项目。通过这个整合,开发者可以充分利用Spring MVC的控制层优势、MyBatis的数据访问便捷性,以及Velocity的...

    SpringMVC模板 

    1. **Velocity模板引擎**:Velocity是Apache软件基金会的一个项目,它的语法简洁,易于学习。在SpringMVC中集成Velocity,你需要添加Velocity的依赖库,然后配置VelocityViewResolver。通过定义模板路径和扩展名,...

    springMVC+ibatis的源码

    通过学习和分析这个源码,开发者不仅可以深入了解SpringMVC和iBatis的协同工作原理,还可以掌握如何在Eclipse这样的IDE中配置和运行这样的项目。这有助于提升对MVC模式的理解,提高数据库操作的能力,以及熟练运用...

    springMVC初步

    SpringMVC是Spring框架的一个模块,专门用于处理Web应用程序...在这个个人练习项目中,你可以看到一个简单的SpringMVC应用实例,尽管它可能不适合大规模项目,但对于初学者理解SpringMVC的基础操作具有一定的学习价值。

    SpringMVC框架简单实现

    在SpringMVC中,视图可以是JSP、Thymeleaf、Velocity等。 7. **Interceptor**:拦截器允许在请求处理前后执行额外的操作,如日志记录、权限检查等。 在"panda-springmvc"项目中,你可以看到这些组件如何被配置和...

    SpringMVC教学视频(包括整合spring和mybatis)网盘

    #### 四、SpringMVC 配置详解 1. **配置前端控制器**:在web.xml中配置DispatcherServlet作为前端控制器。 2. **配置SpringMVC核心组件**:在SpringMVC的配置文件中配置HandlerMapping、HandlerAdapter、...

    狂神说springmvc笔记.zip

    SpringMVC是Spring框架的一个模块,专为构建Web应用程序而设计。它是一个基于模型-视图-控制器(MVC)架构的轻量级Java Web框架,提供了强大的数据绑定、校验和类型转换功能,简化了Java Web开发流程。在"狂神说...

    springmvc第一天课堂笔记

    - SpringMVC支持更多视图技术,如Thymeleaf、Velocity等,而Struts2主要使用JSP。 - SpringMVC有更好的异常处理机制和AOP支持。 通过这些基础知识的学习,你可以理解SpringMVC的核心概念,为后续的高级应用,如...

    SpringMVC深入总结 核心流程图 中关村北大青鸟网上学堂 docx

    根据给定文件的信息,本文将对SpringMVC框架的核心流程进行深入总结,并通过核心流程图的形式来解析SpringMVC的工作机制。SpringMVC是Spring框架的一部分,它为Web应用程序提供了模型-视图-控制器(Model-View-...

    尚硅谷SpringMVC视频

    ### 四、SpringMVC的配置 #### 4.1 配置文件 - **web.xml**:配置DispatcherServlet的初始化参数和监听器。 - **spring-mvc.xml**:配置SpringMVC的各种Bean和组件。 #### 4.2 注解驱动 - **@Controller**:标记...

    SpringMVC框架.zip

    SpringMVC是Spring框架的一个模块,专为构建Web...通过2019-5-23_SpringMVC框架这个压缩包,你可以学习到SpringMVC的基本配置、控制器编写、视图解析、数据绑定等实践操作,进一步理解SpringMVC在实际项目中的应用。

    SpringMVC相关jar包

    - SpringMVC支持使用注解来简化配置,如`@Controller`、`@RequestMapping`、`@RequestParam`、`@PathVariable`等,这些注解可以直接在方法上声明,减少XML配置。 3. **数据绑定**: - `@RequestParam`用于从请求...

    SpringMVC.zip

    在SpringMVC的配置中,通常需要配置DispatcherServlet、HandlerMapping、HandlerAdapter和ViewResolver。XML配置方式逐渐被注解配置取代,例如在web.xml中配置DispatcherServlet,在Spring配置文件中使用`@...

    看透SpringMVC源代码分析与实践

    SpringMVC是Spring框架的重要组成部分,它是一个轻量级的、模型-视图-控制器(MVC)架构的实现,广泛应用于Java企业级应用开发。深入理解SpringMVC的源代码,有助于开发者更好地掌握其工作原理,从而优化性能,解决...

    springMVC jar 包

    SpringMVC是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建 MVC(Model-View-Controller)模式的Web应用程序。这个“springMVC jar 包”包含了所有必要的组件,允许开发者创建纯...

    SpringMVC面试专题及答案.pdf

    - **支持多种视图技术**:除了 JSP 外,SpringMVC 还支持 Velocity、Freemarker 等多种视图技术,这为开发者提供了更多的选择。 - **支持灵活的请求映射策略**:SpringMVC 支持多种请求映射机制,如 URL 映射、路径...

    springMVC jar依赖包全

    以下是对"springMVC jar依赖包全"这个主题的详细解释: 1. **Spring MVC基本组件**: - `spring-webmvc.jar`:这是Spring MVC的核心库,包含了DispatcherServlet、Controller、ViewResolver等关键组件。 - `...

Global site tag (gtag.js) - Google Analytics