nullpoint 发表于 2013-2-6 11:06:41

struts1.x动态ActionForm

jsp页面(dynaform.jsp)

<h1>测试动态actionform</h1><hr>    <form action="dyna.do" method="post">    <input type="text" name="name" /><br/>    <input type="text" name="age" /><br/>    <input type="submit" value="提交">    </form><br>    ${dynaForm.map.name }<br/>    ${dynaForm.map.age }

xml文件配置


<form-beans>    <!-- 配置动态actionform,type为DynaActionForm所在的全路径,也可继承该类配置自己的类路径,但是失去了减少actionform类的目的,动态actionform的验证可以plugin动态验证框架 --><form-bean name="dynaForm" type="org.apache.struts.action.DynaActionForm"><!-- 配置的属性名要和jsp页面的属性名一致,动态actionform类继承了ActionForm类,它收集表单数据采用了一个map,类中有getMap方法获取map,所以可以在页面用el表达式导航获取其中的属性值--><form-property name="name" type="java.lang.String" /><form-property name="age" type="java.lang.Integer" /></form-bean></form-beans><action path="/dyna" type="com.cao.action.DynaFormAction" name="dynaForm" scope="request"><forward name="success" path="/dynaform.jsp" /></action>


Action配置(DynaFormAction)

public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {// TODO Auto-generated method stub//转型为org.apache.struts.action.DynaActionFormDynaActionForm daf = (DynaActionForm) form;//可以通过get属性名获取属性值System.out.println(daf.get("name"));System.out.println(daf.get("age"));return mapping.findForward("success");}
页: [1]
查看完整版本: struts1.x动态ActionForm