Struts中的动态ActionForm
2009-11-16 19:22
309 查看
Struts动态调用ActionForm的方法
2009-07-16 11:49
所谓的动态actionForm就是不用特意为每个表单编写具体的actionForm类。 使用actiomForm的缺点:ActiomForm会增加会增加一个类的绝对数量,其次如果对应的actiomForm 表单的html表单出现添加和删除属性,ActionForm就要修改重新编译,如果html表单是动态的话,那actiomForm就无能为力了。 Struts引入了动态的actionForm来解决这个问题,struts中的DynaActionForm类及子类实现了动态加载actionForm类,我们不用另外编写相应的actionForm类,DynaActionForm会根据相应的配置属性动态加载actionForm. 区别于普通的actionForm设置,只是在<form-bean>中的type设置为DynaValidatorForm类。 (1)首先在struts_config.xml中定义ActionForm名字,和相对应的路径类,利用<form-beans>的子元素 <form-property>使动态的ActionForm具有属性。 <form-beans> <form-bean name="HelloAppActionForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name="userName" type="java.lang.String" /> <form-property name="userPassword" type="java.lang.String" /> <form-property name="checkNumber" type="java.lang.String" /> </form-bean> </form-beans> (2)然后在<action-mappings>里,映射相对的Action. <action-mappings> <action input="/index.jsp" name="HelloAppActionForm"path="/HelloAppAction" scope="request" type="helloapp.HelloAppAction" validate="true"> <forward name="index" path="/index.jsp" /> </action> </action-mappings> (3)在jsp页面调用的情况如下代码。必须要在struts标签下调用。 <html:form action="/HelloAppAction.do" focus="userName"> <bean:message key="HelloApplication.jsp.tips"/> <html:text property="userName" size="16" c125 maxlength="16"/><br> <bean:message key="HelloApplication.jsp.enterPassword"/> <html:text property="userPassword" size="16" maxlength="10"/><br> <bean:message key="HelloApplication.jsp.enterCheckNumber"/> <html:text property="checkNumber" size="4" maxlength="10"/><br> <html:submit property="submit" > <bean:message key="HelloApplication.jsp.submit"/> </html:submit> <html:reset property="reset"> <bean:message key="HelloApplication.jsp.reset"/> </html:reset> <p><html:errors/></p> </html:form> 访问动态actionForm的方法 标准的actionform提供了get/set方法来读取和设置属性,而DynaValidatorForm把属性保存在Map中,因此保存actionForm的属性跟保存Map相似。 下面是相关代码: Pullic Object get(String name) ; public void set(String name,Object value) ; 列子: HelloAppActionForm.set(“username”, “sturts”); String usernane = (string)HelloAppActionForm.get(“username”); |
相关文章推荐
- 自学SSH框架之---struts(五):动态的ActionForm(DynaActionForm)
- 06-struts-动态ActionForm
- Struts的动态ActionForm(DynaActionForm)
- struts之DynaActionform动态表单创建
- SSH:Struts1框架(动态ActionForm)
- Struts中动态ActionForm与静态ActionForm有什么区别?
- Struts中动态ActionForm与静态ActionForm有什么区别?_
- (Struts)动态ActionForm(转)
- struts1——静态ActionForm与动态ActionForm
- 动态ActionForm、struts上传文件、自定义ActionForm的类型转换、Struts对ActionForm的自动搜集流程
- Struts旅程(三)Struts表单处理器ActionForm(静态动态)
- struts中动态表单(DynaActionForm)的使用(超简单例子)
- struts静态动态ActionForm使用(二)—验证
- 一口一口吃掉Struts(六)——动态ActionForm .
- Struts 动态actionForm的使用
- 一口一口吃掉Struts(六)——动态ActionForm
- Struts旅程(三)Struts表单处理器ActionForm(静态动态)
- 一口一口吃掉Struts(六)——动态ActionForm