`
kim_miao
  • 浏览: 188953 次
  • 性别: 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

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

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

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

    spring mvc 框架示例

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

    spring-webmvc5.3.6 jar包.rar

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

    spring mvc 0604

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

    spring mvc 3.2 参考文档

    模型(MVC中的M)是一个Map接口,这样就允许对视图技术做完全抽象。您可以直接与基于呈现技术的模板 (如 JSP、 Velocity和 Freemarker )集成或直接生成 XML、 JSON、 Atom和许多其他类型的内容。模型map被转化为合适的...

    SpringMVC3+velocity最简单配置例子

    SpringMVC3+velocity最简单配置例子,入门级的demo

    spring技术

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

    基于java的企业级应用开发:Spirng MVC入门.ppt

    Spring MVC具有以下特点: 支持多种视图技术。它支持JSP、Velocity和FreeMarker等视图技术。 使用基于XML的配置文件,在编辑后,不需要重新编译应用程序。 在Eclipse中,创建一个名称为chapter11的Web项目,在项目...

    SpringMVC教程

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

    SpringMVC入门实例及详细讲解

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

    springMVC入门教程

    高度可配置的,而且包含多种视图技术,例如JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用JSP 技术。Spring MVC 分离了控 制器、模型对象...

    SpringMVC (hello)源码包

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

    springmvcdemo

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

    spring4.3.2参考文档(英文)

    核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂...通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。

    spring4.3.9相关jar包

    包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。包括框架的Servlets,Web MVC框架,控制器和视图支持。当然,如果你的应用使用了独立的MVC 框架,则无需这个JAR 文件...

    spring jar 包详解

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

    Spring 2.5 jar 所有开发包及完整文档及项目开发实例

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

    spring in action英文版

     第9章 其他视图技术  9.1 使用Velocity模板  9.1.1 定义Velocity视图  9.1.2 配置Velocity引擎  9.1.3 解析Velocity视图  9.1.4 格式化日期和数字  9.1.5 暴露请求和会话属性  9.1.6 在...

    spring4.1核心包

    包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 19. spring-webmvc-portlet-4.1.1.RELEASE....

Global site tag (gtag.js) - Google Analytics