`
kim_miao
  • 浏览: 190646 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring MVC的velocity视图技术

阅读更多
1.Velocity
        Velocity是一种易用的模板语言。Velocity将Java代码从Web 页面中分离出来,使用Web站点从长远看更容易维护,并且提供了一种可行的JavaServer Pages替代解决方案。除了JSP,Velocity可能是用于Web应用的最流行的模板语言之一。很多web系统也都采用Velocity作为视图层技术,Spring对Velocity作为视图模板语言提供了很好的支持。
下面让我们看一下Spring MVC如何与Velocity集成。

2.Spring MVC与Velocity集成

(1)配置Velocity引擎
<bean id="velocityConfigurer"
		class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
		<property name="resourceLoaderPath">
			<value>/WEB-INF/vm/</value>
		</property>
		<property name="velocityProperties">
			<props>
				<prop key="input.encoding">gbk</prop>
				<prop key="output.encoding">gbk</prop>
			</props>
		</property>
 </bean>

        VelocityConfigurer负责在Spring的应用上下文中设置Velocity引擎。这里通过属性resourceLoaderPath告诉Velocity到哪里寻找它的模板。一般的web应用都会将模板放到WEB-INF的某个子目录下面,这样可以保证这些模板不能被直接访问.也可以通过velocityProperties属性来设置其他Velocity的其它配置细节,velocityProperties属性使用一个<props>元素来设置多个属性。在上面的配置片断中,input.encoding与output.encoding是设定vm所用的字符集,否则会出现中文乱码。velocityProperties还有很多,具体可参考velocity 相关文档。

(2)配置Velocity视图解析器
        要使用Velocity模板视图,需要在spring配置文件中配置一个视图解析器。配置如下:
<bean id="viewResolver"
	class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
	<property name="suffix">
		<value>.vm</value>
	</property>
	<property name="contentType" >
	         <value>text/html;charset=gbk</value>
	</property>
</bean>

        VelocityViewResolver和Velocity的关系与 InternalResourceViewResolver和JSP的关系相似。InternalResourceViewResolver使用 prefix属性和suffix属性由视图的逻辑名构造出模板文件的路径。对于velocity仅仅设置suffix属性为“.vm”扩展名就可以了。由于模板目录的路径已经通过VelocityConfigurer的resourceLoaderPath属性配置好了,因此这里不需要设置前缀。

(3)如何在VM页面中取得session的相关信息.
        大家都知道,在vm页面中的信息都可以通过ModelAndView对象的模型Map传递给视图,但Spring MVC的VelocityViewResolver解析器默认在VM中无法取到放在session中的相关信息,如需要显示会话中的属性及信息,可以在配置Velocity视图解析器的时候指定。exposeSessionAttributes设为true时告诉VelocityViewResolver是需要将会话中的属性复制到模型中,这样在vm页面中就可以直接访问到。

<bean id="viewResolver"
	class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
	<property name="suffix">
		<value>.vm</value>
	</property>
	<property name="contentType" >
	         <value>text/html;charset=gbk</value>
	</property>
	
	<property name="exposeSessionAttributes">
		<value>true</value>
	</property>
</bean>

2
4
分享到:
评论

相关推荐

    spring mvc mybatis velocity 示范

    Spring MVC 提供了一个模型-视图-控制器(MVC)架构,使得开发者可以清晰地将业务逻辑、数据处理和用户界面进行解耦。它通过DispatcherServlet作为前端控制器,负责接收请求并分发到相应的处理器。Controller组件...

    maven搭建spring mvc velocity+mybatis

    在IT行业中,构建高效、可维护的Web应用是至关重要的,而Maven、Spring MVC、Velocity和MyBatis是实现这一目标的四个关键组件。本文将深入探讨如何使用这些技术来搭建一个完整的Web应用程序。 首先,Maven是Apache...

    spring mvc与velocity整合

    它支持多种视图技术,如JSP、FreeMarker、Velocity等。 **2. Velocity 概述** Velocity是一个基于Java的模板引擎,它的主要目标是提供一个简洁、高效的模板语言,使开发者可以专注于页面布局和设计,而不用关心底层...

    spring mvc sitemesh velocity整合

    在本项目中,Spring MVC与两个额外的技术——Sitemesh和Velocity进行了整合,增强了应用的模板渲染和页面布局能力。 Sitemesh 是一个开源的Web应用装饰器框架,主要用于统一网站的页面布局和样式。通过Sitemesh,...

    精通Spring MVC4

    JSP、FreeMarker、Thymeleaf等都可以作为视图技术,Spring MVC支持多种视图技术的集成。 5. **模型数据:Model和ModelAndView** Model接口用于存储请求处理过程中产生的数据,这些数据可以通过Model.addAttribute...

    Maven 整合 Spring mvc + Mybatis + Velocity 的实例

    本实例将探讨如何使用Maven作为项目管理工具,结合Spring MVC作为控制层框架,Mybatis作为数据访问层框架,以及Velocity作为视图层模板引擎,来构建一个完整的Java Web应用。以下是关于这些技术的详细解释和整合步骤...

    spring mvc

    10. **View Technologies**: Spring MVC 支持多种视图技术,如JSP、Thymeleaf、Velocity等,可以根据项目需求选择合适的技术。 11. **MVC配置**: 传统的XML配置方式逐渐被Java-based配置和注解配置取代,简化了配置...

    spring mvc框架源码

    9. **Tiles, FreeMarker, Velocity**: Spring MVC支持多种视图技术,如JSP、Thymeleaf、FreeMarker等,这些技术可以方便地构建动态网页。 10. **RESTful风格的支持**: Spring MVC通过@RequestMapping支持RESTful ...

    Spring MVC+Maven+Velocity配置实例

    这些模板可以直接在Spring MVC的控制器方法中返回,Spring MVC会使用Velocity视图解析器找到对应的模板,并结合模型数据渲染出HTML页面。 例如,一个简单的Spring MVC控制器方法可能如下: ```java @Controller ...

    Maven + Spring mvc + Mybatis + Velocity 整合实例

    本示例提供了一个基于Maven、Spring MVC、Mybatis和Velocity的整合实例,旨在帮助开发者理解并掌握这四大技术栈的协同工作方式。这四个组件在Java Web开发中扮演着至关重要的角色: 1. Maven:Maven是一款项目管理...

    Spring MVCSpring MVC基础.ppt

    4. **View Resolver**:Spring MVC支持多种视图技术,如JSP、Velocity、FreeMarker和XSLT等。View Resolver负责根据Controller返回的逻辑视图名解析成实际的视图。这使得开发者可以灵活地选择适合项目需求的视图技术...

    spring框架的MVC

    通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring ...

    Spring mvc指南+Spring mvc入门

    本指南将深入探讨 Spring MVC 的核心概念、配置、控制器、数据绑定、视图解析以及实际应用中的最佳实践。 首先,我们来理解 MVC 设计模式。MVC 将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器...

    Spring MVC4.1.6jar包

    5. **视图解析**: Spring MVC提供了多种视图技术的支持,如JSP、FreeMarker、Thymeleaf等。通过配置ViewResolver,可以指定如何从视图名称解析出实际的视图路径。 6. **数据绑定和验证**: Spring MVC支持自动的数据...

    mybatis spring mvc volectiy项目视图访问控制spring mvc

    最近学习了一下mybatis结合网上的一些列子搭建的一个网站的框架,前端显示用的velocity引擎,数据访问使用mybatis+oracle,视图访问控制spring mvc,框架主要包括一些基本的增删改操作以及拦截器,项目介绍地址:...

    spring-webmvc5.3.6 jar包.rar

    包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。  当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。(例如: org.springframework.web....

    spring mvc 核心jar包

    Spring MVC 支持多种视图技术,如 JSP、Freemarker、Velocity 和 Thymeleaf 等。视图通常包含动态占位符,如 `${name}`,它们会在渲染时被 Model 中的数据替换。 8. **HandlerMapping**:处理器映射器根据请求 URL ...

    spring mvc 框架示例

    通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring ...

    Spring3.0MVC 实用教程(高淇)

    通过策略接口,Spring MVC 具有高度可配置性,支持多种视图技术,如 JSP、Velocity、Tiles、iText 和 POI。 Spring MVC 的主要组成部分包括控制器、模型对象、分派器和处理程序对象,这些组件的职责明确,易于定制...

    SpringMVC3+velocity最简单配置例子

    2. **视图(View)**: 负责呈现数据,SpringMVC支持多种视图技术,如JSP、FreeMarker或Velocity等。 3. **控制器(Controller)**: 处理HTTP请求,调用业务逻辑,并将结果转发到相应的视图。 **Velocity** ...

Global site tag (gtag.js) - Google Analytics