1、 解決Action過(guò)多問(wèn)題
通過(guò)DispatchAction的方式
建立一個(gè)繼承自DispatchAction的Action
此類(lèi)Action允許我們?cè)诒韱沃袔в袇?shù),根據(jù)參數(shù)執(zhí)行Action中的不同方法,以此實(shí)現(xiàn)Action的多用
步驟
① 建立一個(gè)繼承自DispatchAction的Action規(guī)定方法名稱(chēng)
② 在表單頁(yè)面中添加一個(gè)隱藏域值,假設(shè)為codi value=”insert”
③ 在Struts-config.xml的相應(yīng)Form中action項(xiàng)目中設(shè)置parameter參數(shù)值為codi
那么當(dāng)表單提交的時(shí)候,Action中的insert()方法就會(huì)被執(zhí)行,可以通過(guò)改隱藏域中的值的方式來(lái)改變Action要執(zhí)行的方法
2、 解決ActionForm過(guò)多的問(wèn)題
通過(guò)動(dòng)態(tài)ActionForm的方式,即DynaActionForm
步驟
① 在Struts-config.xml
<form-beans>
<form-bean name=”abcForm” type=”org.apache.struts.action.DynaActionForm”>
<form-property name=”userid” type=”java.long.String”></form-property>
</form-bean>
</form-beans>
② 在Struts-config.xml
更改相應(yīng)的action中的attribute和name為abcForm
這樣就配置好了一個(gè)動(dòng)態(tài)的ActionForm
3、 解決動(dòng)態(tài)ActionForm的驗(yàn)證問(wèn)題
通過(guò)動(dòng)態(tài)驗(yàn)證ActonForm的方式,即DynaValidatorForm
步驟
① 在Struts-config.xml
同2的第一步,但是type需要改成org.apache.struts.action.DynaValidatorForm
② 配置一個(gè)validation.xml文件
<form-validation>
<formset>
<form name="abcForm">
<field property="userid" depends="required">
<arg key="err.userid" resource="true"/>
</field>
</form>
</formset>
</form-validation>
③ 在Struts資源文件中配置err.userid、以及errors.required
④ 在Struts-config.xml配置相應(yīng)的action,添加validate=”true”添加驗(yàn)證支持
⑤ 添加struts Plugin插件
設(shè)置plugin class為org.apache.struts.validator.ValidatorPlugIn
添加propertys
Propertyà pathnames
Valueà /WEB-INF/validator-rules.xml,/WEB-INF/validation.xml
這樣一個(gè)驗(yàn)證框架就配置好了!
posted on 2008-02-12 13:47
Dong 閱讀(3489)
評(píng)論(6) 編輯 收藏