V elocity入门使用教程一、使用velocity的好处:1.不用像jsp那样编译成servlet(.Class)文件,直接装载后就可以运行了,装载的过程在web.xml里面配置。
【后缀名为.vhtml是我们自己的命名方式。
也只有在这里配置了哪种类型的文件,那么这种类型的文件才能解析velocity语法】2.web页面上可以很方便的调用java后台的方法,不管方法是静态的还是非静态的。
只需要在toolbox.xml里面把类配置进去就可以咯。
【调用的方法$class.method()】即可。
3.可以使用模版生成静态文档html【特殊情况下才用】二、使用1、下载velocity-1.7.zip 、velocity-tools-2.0.zip2、解压后引用3个jar文件velocity-1.7.jar、velocity-tools-2.0.jar、velocity-tools-view-2.0.jar 还有几个commons-…..jar 开头的jar包三、配置文件:Web.xml<?xml version="1.0"encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"version="2.5"> <servlet><servlet-name>velocity</servlet-name><servlet-class>org.apache.velocity.tools.view.VelocityViewServlet</se rvlet-class><load-on-startup>1</load-on-startup></servlet><!—在这里配置的mapping中,说明只有后缀名为vm、jsp、html的文件里面才能使用velocity语法,也可以自定义自己的后缀名,只要在下面mappin中添加即可--> <servlet-mapping><servlet-name>velocity</servlet-name><url-pattern>*.vm</url-pattern></servlet-mapping><servlet-mapping><servlet-name>velocity</servlet-name><url-pattern>*.jsp</url-pattern></servlet-mapping><servlet-mapping><servlet-name>velocity</servlet-name><url-pattern>*.html</url-pattern></servlet-mapping></web-app>Toolbox.xml 【这个文件和web.xml放在一起,不要改名字,否则不会自动加载】<?xml version="1.0"encoding="UTF-8"?><tools><data type="string"key="version"value="2.0"/><!—在这里配置类,在项目启动的时候就自动把类实例化好了,在页面就可以用了,例子:下面 ${test.Method()}--><toolbox scope="request"><!-- currentProject util start --><tool key="test"class="com.gzrj.services.Test"></tool>...<!-- currentProject util end --><!—下面的这些配置都是velocity的配置,可以不用管,也不能更改 --><!-- velocity util start --><tool class="org.apache.velocity.tools.view.CookieTool"/><tool class="org.apache.velocity.tools.view.ImportTool"/><tool class="org.apache.velocity.tools.view.IncludeTool"/><tool class="org.apache.velocity.tools.view.LinkTool"/><tool class="org.apache.velocity.tools.view.PagerTool"/><tool class="org.apache.velocity.tools.view.ParameterTool"/><tool class="org.apache.velocity.tools.view.ViewContextTool"/><tool class="org.apache.velocity.tools.generic.ContextTool"/><tool class="org.apache.velocity.tools.generic.LoopTool"/><tool class="org.apache.velocity.tools.generic.RenderTool"/><!-- velocity util end --></toolbox><toolbox scope="session"createSession="false"><tool class="org.apache.velocity.tools.view.BrowserTool"/> </toolbox><toolbox scope="application"><tool class="org.apache.velocity.tools.generic.AlternatorTool"/> <tool class="org.apache.velocity.tools.generic.ClassTool"/><toolclass="parisonDateTool"/> <tool class="org.apache.velocity.tools.generic.ConversionTool"/> <tool class="org.apache.velocity.tools.generic.DisplayTool"/><tool class="org.apache.velocity.tools.generic.EscapeTool"/><tool class="org.apache.velocity.tools.generic.FieldTool"/><tool class="org.apache.velocity.tools.generic.MathTool"/><tool class="org.apache.velocity.tools.generic.NumberTool"/><tool class="org.apache.velocity.tools.generic.ResourceTool"/><tool class="org.apache.velocity.tools.generic.SortTool"/><tool class="org.apache.velocity.tools.generic.XmlTool"/><tool class="org.apache.velocity.tools.generic.ListTool"/> </toolbox></tools>四、页面使用(html)<!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>添加 -- 修改 -- 界面</title></head><body><br><form name="form1"id="form1"action="tree/tree!add.action"method="post"><!-- 两个隐藏表单传值 --><input type="hidden"name="updateBeforeId"id="updateBeforeId" value=$!request.produKey><input type="hidden"name="treeid"id="treeid"value=$!request.id> <table border=0><tr><td>序号:</td><td><input type="text"name="treeproduKey"id="treeproduKey" maxlength="3"onkeydown="keySel(event);"value=$!{request.produKey_3}><lable id="idname"></lable><fontcolor="red"size="2px">*序列号请输入三位数字</font></td></tr><tr><td>名字:</td><td><input type="text"name="treename"id="treename" maxlength="50"onkeydown="keySel(event);"value=$!><font color="red"size="2px">*‘输入1-50个字母、数字或者汉字’</font></td> </tr><tr><td>所属类别:</td><td><select name="selectP_id"id="selectP_id"onkeydown="keySel(event);"size="1"style="width:120px;"><option value="">根数据</option>#foreach($list in $!request.listTree)<!-- 当传过来的值id与数据库样的时候,就selected="selected -->#if($!list.id==$request.produKey_id)<option value="$!list.id"selected="selected">$!</option>#else<option value="$!list.id">$!</option> #end#end</select></td></tr><tr><td> </td></tr><tr align="center"><td colspan=2>#if(!$)<a class="easyui-linkbutton"plain="false"iconCls="icon-save"href="#this"onclick="checkForm();">确认添加</a> #else<a class="easyui-linkbutton"plain="false"iconCls="icon-save"href="#this"onclick="checkForm();">确认更新</a> #end</td></tr></table></form></body></html>。