一、jar包
现在越来越多的项目开始使用Velocity作为view,velocity的一些jar包如下:
1、velocity-1.5.jar 包含了veloctiy运行时需要的类
2、velocity-tools-1.4.jar 包含了velocity的视图控制和系统工具类
3、velocity-dvsl-1.0.jar 可选的,封转了dvsl的类
4、commons-collections-xxx.jar 扩展了java.util.map的一些集合类
5、commons-logging-xxx.jar 日志输出类
6、commons-lang-xxx.jar 扩展了java.lang的类
7、commons-digester-xxx.jar 用于处理xml转换到对象的工具类
8、commons-beanutils-xxx.jar 对bean操作的一些类
一、web.xml中的配置
1<web-app>
2 <servlet>
3 <servlet-name>velocity</servlet-name>
4 <servlet-class>org.apache.velocity.tools.view.VelocityViewServlet</servlet-class>
5 </servlet>
6 <servlet-mapping>
7 <servlet-name>velocity</servlet-name>
8 <url-pattern>*.vm</url-pattern>
9 </servlet-mapping>
10 <welcome-file-list>
11 <welcome-file>index.vm</welcome-file>
12 </welcome-file-list>
13</web-app>
二、可选配置tools.xml
<tools>
<data type="boolean" key="xhtml" value="true"/>
<data type="boolean" key="isSimple" value="true"/>
<data type="number" key="version" value="3.3.0"/>
<data key="foo">this is foo</data>
<data key="bar">this is bar.</data>
<toolbox scope="request">
<tool key="toytool" class="ToyTool" restrictTo="index*"/>
</toolbox>
<toolbox scope="session">
<tool key="map" class="java.util.HashMap"/>
</toolbox>
</tools>
struts2 与velocity1.6及velocity tools1.4的整合
2010-03-10 09:46
搜索velocity,资料真是不多,网上很多strust2和velocity的配置是不正确的!搭个环境都费了好久时间,在此记录备忘
开始前加入必要jar,我这里加的有:commons-logging-1.0.4.jar,freemarker-2.3.15.jar,ognl-2.7.3.jar,xwork-core-2.1.6.jar,struts2-core-2.1.8.1.jar,commons-fileupload-1.2.1.jar,commons-collections-3.2.jar,commons-lang-2.3.jar,commons-digester-2.0.jar,commons-beanutils-1.7.0.jar,velocity-tools-1.4.jar,velocity-1.6.3.jar。
首先,web.xml文件,直接从下载的struts2压缩包中的blank项目中复制即可,无需其他多余配置
其次,struts.xml文件,先也从struts2的blank项目中复制一份,放到src目录下
再次,在WEB-INF下新建两个文件,velocity的配置velocity.properties和velocity tools的toolbox.xml(这两个文件的文件名随意)
第四,WEN-INF中新建一个VM_global_library.vm文件,内容为空
第五,在struts配置文件中加入下面两行,注意value的文件路径,就是第三步中新建的
<constant name="struts.velocity.toolboxlocation" value="WEB-INF/toolbox.xml" />
<constant name="struts.velocity.configfile" value="WEB-INF/velocity.properties" />
<struts>
<constant name="struts.velocity.toolboxlocation" value="WEB-INF/toolbox.xml" />
<constant name="struts.velocity.configfile" value="WEB-INF/velocity.properties" />
<include file="struts-default.xml" />
<package name="default" extends="struts-default">
<action name="hello" class="test.Hello" method="execute">
<result name="success">hello.vm</result>
</action>
</package>
</struts>