Velocity+Struts 配置

本文介绍如何在Struts框架中集成Velocity模板引擎实现动态页面生成。通过配置web.xml和struts-config.xml,创建TestAction处理表单提交,并使用Velocity模板输出数据。
摘要由CSDN通过智能技术生成
参考: http://www.blogjava.net/oksonic/archive/2007/03/01/101252.html

功能描述:
在test.jsp页面输入信息,点击提交按钮,有test action获得testform中的信息输出到test.vm中。。

预备工作:
Velocit1.5.jar 
velocity-tools-1.3.jar

1. 建立 VelocityWeb web工程

2.web.xml  配置文件信息
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  3.    <servlet>  
  4.        <servlet-name>velocity</servlet-name >    
  5.        <servlet-class> org.apache.velocity.tools.view.servlet.VelocityViewServlet    
  6.        </servlet-class>    
  7.     </servlet>    
  8.   <servlet>  
  9.     <servlet-name>action</servlet-name>  
  10.     <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
  11.     <init-param>  
  12.       <param-name>config</param-name>  
  13.       <param-value>/WEB-INF/struts-config.xml</param-value>  
  14.     </init-param>  
  15.     <init-param>  
  16.       <param-name>debug</param-name>  
  17.       <param-value>3</param-value>  
  18.     </init-param>  
  19.     <init-param>  
  20.       <param-name>detail</param-name>  
  21.       <param-value>3</param-value>  
  22.     </init-param>  
  23.     <load-on-startup>0</load-on-startup>  
  24.   </servlet>  
  25.   <servlet-mapping>  
  26.     <servlet-name>action</servlet-name>  
  27.     <url-pattern>*.do</url-pattern>  
  28.   </servlet-mapping>  
  29.       <servlet-mapping>    
  30.        <servlet-name>velocity</servlet-name >    
  31.        <url-pattern >*.vm</url-pattern >    
  32.     </servlet-mapping >  
  33. </web-app>  

3. struts-config.xml配置文件信息
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">  
  3. <struts-config>  
  4.   <form-beans >  
  5.     <form-bean name="testForm" type="com.yourcompany.struts.form.TestForm" />  
  6.     </form-beans>  
  7.   <action-mappings >  
  8.     <action  
  9.       attribute="testForm"  
  10.       input="/test.jsp"  
  11.       name="testForm"  
  12.       path="/test"  
  13.       scope="request"  
  14.       type="com.yourcompany.struts.action.TestAction" >  
  15.      <forward name="success" path="/test.vm"></forward>  
  16.       </action>  
  17.       </action-mappings>  
  18. </struts-config>  

4. Testaction
  1. public ActionForward execute(ActionMapping mapping, ActionForm form,   
  2.         HttpServletRequest request, HttpServletResponse response) {   
  3.     TestForm testForm = (TestForm) form;   
  4.     request.setAttribute("test", testForm);   
  5.     return mapping.findForward("success");   
  6. }  


5. TestForm
只包含一个属性 String test;

6. test.jsp

  1. <html:form action="/test">   
  2.     test : <html:text property="test"/><html:errors property="test"/><br/>   
  3.     <html:submit/><html:cancel/>   
  4. </html:form>  

7. test.vm
  1. <body>   
  2. ${test.getTest()}   
  3. </body>  


运行结果:
http://127.0.0.1:8080/VelocityWeb/test.jsp
输入 :Hello VerRan
转向
http://127.0.0.1:8080/VelocityWeb/test.do
输出结果:Hello VerRan
如果直接访问:
http://127.0.0.1:8080/VelocityWeb/test.vm
输出:${test.getTest()}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值