Struts1中使用动态ActionForm
2014年03月29日 12:47:03 Struts ⁄ 共 1604字 暂无评论 ⁄ 被围观 1,855次

使用动态ActionForm可以减少静态ActionForm的数量,但完全可以实现静态ActionForm的所有功能。用一个非常简单的例子说明动态ActionForm的配置和使用。

1. 在 jsp 中创建一个简单的表单。

Code   ViewPrint
  1. <form action="dyna_actionform.do" method="post">
  2.     姓名:<input type="text" name="username"><br>
  3.     年龄:<input type="text" name="age"><br>
  4.     <input type="submit" value="提交">
  5. </form>

2. 创建一个测试的Action。

Code   ViewPrint
  1. public class DynaActionFormTestAction extends Action {
  2.     @Override
  3.     public ActionForward execute(ActionMapping mapping, ActionForm form,
  4.             HttpServletRequest request, HttpServletResponse response)
  5.             throws Exception {
  6.         DynaActionForm daf = (DynaActionForm)form;
  7.         String username = (String)daf.get("username");
  8.         Integer age = (Integer)daf.get("age");
  9.         System.out.println("username=" + username);
  10.         System.out.println("age=" + age);
  11.         return mapping.findForward("success");
  12.     }
  13. }

3. 创建一个用于跳转的 jsp 页面。

Code   ViewPrint
  1. <body>
  2.     姓名:${dynaForm.map.username }<br>
  3.     年龄:${dynaForm.map.age }<br>
  4. </body>

4. 配置 struts_config 文件。

Code   ViewPrint
  1. <struts-config>
  2.     <form-beans>
  3.         <form-bean name="dynaForm" type="org.apache.struts.action.DynaActionForm">
  4.             <form-property name="username" type="java.lang.String"/>
  5.             <form-property name="age" type="java.lang.Integer"/>
  6.         </form-bean>
  7.     </form-beans>
  8.     <action-mappings>
  9.         <action path="/dyna_actionform"
  10.                 type="com.tzhuwb.struts.DynaActionFormTestAction"
  11.                 name="dynaForm"
  12.                 scope="request">
  13.             <forward name="success" path="/dyna_actionform.jsp"/>
  14.         </action>
  15.     </action-mappings>
  16. </struts-config>

给我留言

留言无头像?