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>
分享到:
相关推荐
Spring MVC 提供了一个模型-视图-控制器(MVC)架构,使得开发者可以清晰地将业务逻辑、数据处理和用户界面进行解耦。它通过DispatcherServlet作为前端控制器,负责接收请求并分发到相应的处理器。Controller组件...
在IT行业中,构建高效、可维护的Web应用是至关重要的,而Maven、Spring MVC、Velocity和MyBatis是实现这一目标的四个关键组件。本文将深入探讨如何使用这些技术来搭建一个完整的Web应用程序。 首先,Maven是Apache...
它支持多种视图技术,如JSP、FreeMarker、Velocity等。 **2. Velocity 概述** Velocity是一个基于Java的模板引擎,它的主要目标是提供一个简洁、高效的模板语言,使开发者可以专注于页面布局和设计,而不用关心底层...
在本项目中,Spring MVC与两个额外的技术——Sitemesh和Velocity进行了整合,增强了应用的模板渲染和页面布局能力。 Sitemesh 是一个开源的Web应用装饰器框架,主要用于统一网站的页面布局和样式。通过Sitemesh,...
JSP、FreeMarker、Thymeleaf等都可以作为视图技术,Spring MVC支持多种视图技术的集成。 5. **模型数据:Model和ModelAndView** Model接口用于存储请求处理过程中产生的数据,这些数据可以通过Model.addAttribute...
本实例将探讨如何使用Maven作为项目管理工具,结合Spring MVC作为控制层框架,Mybatis作为数据访问层框架,以及Velocity作为视图层模板引擎,来构建一个完整的Java Web应用。以下是关于这些技术的详细解释和整合步骤...
10. **View Technologies**: Spring MVC 支持多种视图技术,如JSP、Thymeleaf、Velocity等,可以根据项目需求选择合适的技术。 11. **MVC配置**: 传统的XML配置方式逐渐被Java-based配置和注解配置取代,简化了配置...
9. **Tiles, FreeMarker, Velocity**: Spring MVC支持多种视图技术,如JSP、Thymeleaf、FreeMarker等,这些技术可以方便地构建动态网页。 10. **RESTful风格的支持**: Spring MVC通过@RequestMapping支持RESTful ...
这些模板可以直接在Spring MVC的控制器方法中返回,Spring MVC会使用Velocity视图解析器找到对应的模板,并结合模型数据渲染出HTML页面。 例如,一个简单的Spring MVC控制器方法可能如下: ```java @Controller ...
本示例提供了一个基于Maven、Spring MVC、Mybatis和Velocity的整合实例,旨在帮助开发者理解并掌握这四大技术栈的协同工作方式。这四个组件在Java Web开发中扮演着至关重要的角色: 1. Maven:Maven是一款项目管理...
4. **View Resolver**:Spring MVC支持多种视图技术,如JSP、Velocity、FreeMarker和XSLT等。View Resolver负责根据Controller返回的逻辑视图名解析成实际的视图。这使得开发者可以灵活地选择适合项目需求的视图技术...
通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring ...
本指南将深入探讨 Spring MVC 的核心概念、配置、控制器、数据绑定、视图解析以及实际应用中的最佳实践。 首先,我们来理解 MVC 设计模式。MVC 将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器...
5. **视图解析**: Spring MVC提供了多种视图技术的支持,如JSP、FreeMarker、Thymeleaf等。通过配置ViewResolver,可以指定如何从视图名称解析出实际的视图路径。 6. **数据绑定和验证**: Spring MVC支持自动的数据...
最近学习了一下mybatis结合网上的一些列子搭建的一个网站的框架,前端显示用的velocity引擎,数据访问使用mybatis+oracle,视图访问控制spring mvc,框架主要包括一些基本的增删改操作以及拦截器,项目介绍地址:...
包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。 当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。(例如: org.springframework.web....
Spring MVC 支持多种视图技术,如 JSP、Freemarker、Velocity 和 Thymeleaf 等。视图通常包含动态占位符,如 `${name}`,它们会在渲染时被 Model 中的数据替换。 8. **HandlerMapping**:处理器映射器根据请求 URL ...
通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring ...
通过策略接口,Spring MVC 具有高度可配置性,支持多种视图技术,如 JSP、Velocity、Tiles、iText 和 POI。 Spring MVC 的主要组成部分包括控制器、模型对象、分派器和处理程序对象,这些组件的职责明确,易于定制...
2. **视图(View)**: 负责呈现数据,SpringMVC支持多种视图技术,如JSP、FreeMarker或Velocity等。 3. **控制器(Controller)**: 处理HTTP请求,调用业务逻辑,并将结果转发到相应的视图。 **Velocity** ...