Velocity入门使用教程

来源:互联网 发布:写论文的数据在哪里找 编辑:程序博客网 时间:2024/05/21 10:35
 

Velocity入门使用教程

标签: Velocity
 1329人阅读 评论(0) 收藏 举报
 分类:

    参考:百度文库:http://wenku.baidu.com/link?url=nddg_1OX-vYNVOC9OmkjVa3BrQvd8B29RqtY3En010-wev03ASprxB9APX70xqRqAdrETwsNLZu3WR6q_1bgfHLSq2m1oZ9zqjRDMuhChxG

一、使用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.zip

    2、解压后引用3个jar文件 velocity-1.7.jar、velocity-tools-2.0.jar、velocity-tools-view-2.0.jar还有几个commons-…..jar 开头的jar包

 

三、配置文件:

   Web.xml 

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">  
  3.   <servlet>  
  4.     <servlet-name>velocity</servlet-name>  
  5. <servlet-class>org.apache.velocity.tools.view.VelocityViewServlet</servlet-class>  
  6.     <load-on-startup>1</load-on-startup>  
  7.   </servlet>  
  8. <!—在这里配置的mapping中,说明只有后缀名为vm、jsp、html的文件里面才能使用velocity语法,也可以自定义自己的后缀名,只要在下面mappin中添加即可-->  
  9.   <servlet-mapping>  
  10.     <servlet-name>velocity</servlet-name>  
  11.     <url-pattern>*.vm</url-pattern>  
  12.   </servlet-mapping>  
  13.     <servlet-mapping>  
  14.     <servlet-name>velocity</servlet-name>  
  15.     <url-pattern>*.jsp</url-pattern>  
  16.   </servlet-mapping>  
  17.   <servlet-mapping>  
  18.     <servlet-name>velocity</servlet-name>  
  19.     <url-pattern>*.html</url-pattern>  
  20.   </servlet-mapping>  
  21.     
  22. </web-app>  
    

    Toolbox.xml    【这个文件和web.xml放在一起,不要改名字,否则不会自动加载】

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <tools>  
  3.   <data type="string" key="version" value="2.0"/>  
  4.   <!—在这里配置 类,在项目启动的时候就自动把类实例化好了,在页面就可以用了,例子:下面  ${test.Method()}-->  
  5.   <toolbox scope="request">  
  6.     <!-- currentProject util start -->  
  7.     <tool key="test" class="com.gzrj.services.Test"></tool>  
  8. .  
  9. .  
  10. .  
  11.     <!-- currentProject util end -->  
  12.     <!—下面的这些配置都是velocity的配置,可以不用管,也不能更改 -->  
  13.     <!-- velocity util start -->  
  14.     <tool class="org.apache.velocity.tools.view.CookieTool"/>  
  15.     <tool class="org.apache.velocity.tools.view.ImportTool"/>  
  16.     <tool class="org.apache.velocity.tools.view.IncludeTool"/>  
  17.     <tool class="org.apache.velocity.tools.view.LinkTool"/>  
  18.     <tool class="org.apache.velocity.tools.view.PagerTool"/>  
  19.     <tool class="org.apache.velocity.tools.view.ParameterTool"/>  
  20.     <tool class="org.apache.velocity.tools.view.ViewContextTool"/>  
  21.     <tool class="org.apache.velocity.tools.generic.ContextTool"/>  
  22.     <tool class="org.apache.velocity.tools.generic.LoopTool"/>  
  23.     <tool class="org.apache.velocity.tools.generic.RenderTool"/>  
  24.     <!-- velocity util end -->  
  25.   </toolbox>  
  26.     
  27.   <toolbox scope="session" createSession="false">  
  28.       <tool class="org.apache.velocity.tools.view.BrowserTool"/>  
  29.   </toolbox>  
  30.     
  31.   <toolbox scope="application">  
  32.       <tool class="org.apache.velocity.tools.generic.AlternatorTool"/>  
  33.       <tool class="org.apache.velocity.tools.generic.ClassTool"/>  
  34.       <tool class="org.apache.velocity.tools.generic.ComparisonDateTool"/>  
  35.       <tool class="org.apache.velocity.tools.generic.ConversionTool"/>  
  36.       <tool class="org.apache.velocity.tools.generic.DisplayTool"/>  
  37.       <tool class="org.apache.velocity.tools.generic.EscapeTool"/>  
  38.       <tool class="org.apache.velocity.tools.generic.FieldTool"/>  
  39.       <tool class="org.apache.velocity.tools.generic.MathTool"/>  
  40.       <tool class="org.apache.velocity.tools.generic.NumberTool"/>  
  41.       <tool class="org.apache.velocity.tools.generic.ResourceTool"/>  
  42.       <tool class="org.apache.velocity.tools.generic.SortTool"/>  
  43.       <tool class="org.apache.velocity.tools.generic.XmlTool"/>  
  44.       <tool class="org.apache.velocity.tools.generic.ListTool"/>  
  45.   </toolbox>  
  46. </tools>  

四、页面使用(html)

[html] view plain copy
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  2. <html>  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  5. <title>添加  -- 修改 -- 界面</title>  
  6. </head>  
  7. <body>  
  8.    <br>  
  9.    <form name="form1" id="form1" action="tree/tree!add.action" method="post">  
  10.       <!-- 两个隐藏表单传值 -->  
  11.     <input type="hidden" name="updateBeforeId" id="updateBeforeId" value=$!request.produKey >  
  12.     <input type="hidden" name="treeid" id="treeid" value=$!request.id >  
  13.     <table border=0>  
  14.         <tr>  
  15.           <td>  序号:</td>  
  16.           <td><input type="text" name="treeproduKey" id="treeproduKey" maxlength="3" onkeydown="keySel(event);" value=$!{request.produKey_3} ><lable id="idname"></lable><font color="red" size="2px">*序列号请输入三位数字</font> </td>  
  17.         </tr>  
  18.         <tr>  
  19.           <td>  名字: </td>  
  20.           <td> <input type="text" name="treename" id="treename" maxlength="50"  onkeydown="keySel(event);" value=$!request.name><font color="red" size="2px">*‘输入1-50个字母、数字或者汉字’</font> </td>  
  21.         </tr>  
  22.         <tr>  
  23.            <td> 所属类别: </td>  
  24.             <td> <select name="selectP_id" id="selectP_id"  onkeydown="keySel(event);" size="1" style="width:120px;">  
  25.               <option value="">根数据</option>  
  26.               #foreach($list in $!request.listTree)  
  27.               <!-- 当传过来的值id与数据库样的时候,就selected="selected -->  
  28.                #if($!list.id==$request.produKey_id)                
  29.                     <option value="$!list.id" selected="selected">$!list.name</option>  
  30.                #else  
  31.                     <option value="$!list.id">$!list.name</option>  
  32.                #end  
  33.               #end  
  34.              </select>  
  35.            </td>  
  36.         </tr>  
  37.         <tr><td> </td></tr>  
  38.         <tr align="center">  
  39.           <td colspan=2 >  
  40.             #if(!$request.name)  
  41.                <a class="easyui-linkbutton" plain="false" iconCls="icon-save" href="#this" onclick="checkForm();">确认添加</a>  
  42.             #else  
  43.                <a class="easyui-linkbutton" plain="false" iconCls="icon-save" href="#this" onclick="checkForm();">确认更新</a>  
  44.             #end  
  45.          </td>  
  46.         </tr>  
  47.     </table>  
  48.    </form>   
  49. </body>  
  50. </html>  
原创粉丝点击