之前做搜索时候,前台展示使用了velocity,由于时间比较急,所以也没深入使用,这里主要记一下配置及简单使用
1 web.xml文件里的配置:
<!-- Velocity 的配置 -->
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>
org.apache.velocity.tools.view.servlet.VelocityViewServlet
</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>classpath:toolbox.xml</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>classpath:velocity.properties</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
<!-- Velocity 的配置结束 -->
toolbox.xml,velocity有自己决定放到什么位置,这里指定路径就可以
velocity.properties里velocimacro.library = VM_global_library.vm,所指文件在下面velocityConfigurer指定的resourceLoaderPath下
当然要加入需要的jar包,
velocity-1.4.jar
velocity-dep-1.4.jar
velocity-dvsl-1.0.jar
velocity-tools-1.4.jar
velocity-tools-generic-1.4.jar
velocity-tools-view-1.4.jar 有这些就全了,呵呵
2 配置viewResolver
首先必须要先配置velocityConfigurer
<bean id="velocityConfigurer"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="configLocation"><value>classpath:velocity.properties</value></property>
<property name="resourceLoaderPath">
<value>WEB-INF/velocity/</value>
</property>
<property name="velocityProperties">
<props>
<prop key="directive.foreach.counter.name">
loopCoounter
</prop>
<prop key="directive.foreach.counter.initial.value">
0
</prop>
<prop key="input.encoding">UTF-8</prop>
<prop key="output.encoding">UTF-8</prop>
<prop key="contentType">text/html;charset=UTF-8</prop>
</props>
</property>
</bean>
resourceLoaderPath指定页面存放的文件夹,会自动到这个文件夹下找文件
第二处主要制定编码,防止页面出现乱码的情况,虽然在src的velocity.properties里也指定了编码但还是出现乱码的情况,这边重新指定。
<bean id="viewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="suffix">
<value>.vm</value>
</property>
<property name="exposeRequestAttributes">
<value>true</value>
</property>
<property name="exposeSessionAttributes">
<value>true</value>
</property>
<property name="contentType">
<value>text/html;charset=UTF-8</value>
</property>
<!-- <property name="toolboxConfigLocation" value="toolbox.xml"/>-->
<!-- <property name="toolboxConfigLocation">-->
<!-- <value>toolbox.xml</value>-->
<!-- </property>-->
</bean>
这样基本就可以用了,,vm文件放在web-inf/velocity下
<property name="errorView">
<value>results</value>会找到web-inf/velocity下的results.vm文件
</property>
4 还没深入研究
<!-- <property name="toolboxConfigLocation" value="toolbox.xml"/>-->
<!-- <property name="toolboxConfigLocation">-->
<!-- <value>toolbox.xml</value>-->
<!-- </property>-->
不知道为什么toolbox不能用,总是报
java.lang.NullPointerException
at org.springframework.web.servlet.view.velocity.VelocityToolboxView.createVelocityContext(VelocityToolboxView.java:114)错误,toolbox.xml放到web-inf/velocity下也不行,有知道的朋友说一下,网上搜了半天,只有两个韩国网站,又看不懂韩语,呵呵
分享到:
相关推荐
2.导入本项目中的org.springframework目录下的velocity支持类,原样copy过去或自己打个jar 3.不想写java类配置就直接@ImportResource({"classpath:velocity.xml"})原来的xml配置 4.其他原来是啥就是啥开工
- **使用 Velocity 模板**:在控制器中返回视图名称,Spring 会自动调用视图解析器,并将模型数据传递给 Velocity 模板进行渲染。 ##### 2. 集成 Hibernate Spring 2.0 提供了多种方式来集成 Hibernate,常见的...
Spring、SpringMVC、Mybatis、Velocity和Maven是Java Web开发中常用的一组技术栈,它们各自在软件开发的不同层面发挥着重要作用。这个压缩包文件的标题和描述表明,它提供了一个集成这些技术的演示项目,下面我们将...
在Spring MVC的配置文件(如`spring-mvc.xml`)中,你需要配置VelocityViewResolver,这是Spring MVC用来解析Velocity模板的类。设置其prefix和suffix属性,分别指定视图前缀和后缀,例如: ```xml ...
Velocity入门教程,语法,Velocity布局,Spring框架集成Velocity
为了在Spring中集成Velocity,我们需要添加以下依赖: 1. `velocity-engine-core`:Velocity的核心库。 2. `velocity-tools-view`:Spring MVC与Velocity集成所需的工具库。 在Spring配置文件中,你需要定义一个`...
在这个项目中,"velocity spring jpa hibernate 整合"涉及到的是四个关键组件:Velocity、Spring、JPA(Java Persistence API)和Hibernate。让我们逐一深入理解这些技术并探讨它们如何协同工作。 1. **Velocity**...
开发者可以在Velocity模板中使用变量和控制结构,这些变量由Java后端提供,然后 Velocity 将这些模板和数据结合,生成最终的HTML或者其他格式的输出。Velocity 的语法简洁,易于学习,且执行效率高。 结合使用...
要在Spring Boot项目中使用Velocity,首先需要在`pom.xml`中添加依赖。Spring Boot并没有默认包含Velocity,所以我们需要手动引入: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-...
根据提供的信息,我们可以详细探讨如何使用Spring框架结合Velocity模板引擎来实现邮件的自动化发送功能。这一过程涉及到Spring框架的基本配置、Velocity模板引擎的使用以及JavaMail API的应用。 ### Spring框架与...
Spring Velocity是一个将Velocity模板引擎与Spring框架集成的示例,这个例子主要展示了如何在Spring应用中使用Velocity来渲染动态内容。Velocity是一个Java模板引擎,它允许开发者将逻辑和表示分离,使得网页设计...
通过这个项目,开发者可以学习到如何配置Spring的Bean、如何编写Velocity模板、如何设计iBATIS的映射文件以及如何在Spring中集成这三个组件。这不仅有助于提升Java Web开发技能,还能加深对MVC模式、模板引擎和持久...
Velocity 则作为视图层,将Spring中的数据渲染成用户可见的页面。 例如,一个典型的流程可能如下: 1. 用户发送请求到Struts Action。 2. Struts Action通过Spring的依赖注入获取Service对象,执行业务逻辑。 3. ...
在`Struts2+Spring+Velocity`项目中,这三者通常是这样协作的: 1. **Struts2** 负责处理HTTP请求,解析请求参数,调用相应的Action。Action由Spring管理,通过DI注入必要的服务和数据。 2. **Spring** 作为整个...
4. **使用Velocity模板**:在Spring的Controller中,我们可以创建ModelAndView对象,设置模型数据,并指定对应的Velocity模板,如下所示: ```java @RequestMapping("/hello") public ModelAndView hello() { ...
总结起来,Spring Velocity Demo是一个演示如何在Spring应用中使用Velocity进行动态页面渲染的实例。通过Eclipse和Maven,我们可以快速地搭建开发环境,而Spring与Velocity的集成则使得模板引擎的使用更加方便,为...
在这个"struts2+spring+velocity扩展实例V1版本"中,我们可以看到这三个框架的集成与应用。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它的主要职责是处理用户的请求,并将其...
首先,创建一个模板文件(.vm),在这个文件中使用VTL语法定义输出格式。然后,在Java代码中初始化Velocity引擎,并通过Velocity引擎读取模板文件,再将Java对象数据传入模板,最终合并生成最终的文本输出。 具体...