程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Struts解決ActionForm、Action過多問題

Struts解決ActionForm、Action過多問題

編輯:關於JAVA

1、解決Action過多問題

通過DispatchAction的方式建立一個繼承自DispatchAction的Action此類Action允許我們在表單中帶有參數,根據參數執行Action中的不同方法,以此實現Action的多用

步驟

① 建立一個繼承自DispatchAction的Action規定方法名稱

② 在表單頁面中添加一個隱藏域值,假設為codi value=”insert”

③ 在Struts-config.xml的相應Form中action項目中設置parameter參數值為codi

那麼當表單提交的時候,Action中的insert()方法就會被執行,可以通過改隱藏域中的值的方式來改變Action要執行的方法

2、解決ActionForm過多的問題

通過動態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

更改相應的action中的attribute和name為abcForm

這樣就配置好了一個動態的ActionForm

3、解決動態ActionForm的驗證問題

通過動態驗證ActonForm的方式,即DynaValidatorForm

步驟

① 在Struts-config.xml

同2的第一步,但是type需要改成org.apache.struts.action.DynaValidatorForm

② 配置一個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配置相應的action,添加validate=”true”添加驗證支持

⑤ 添加struts Plugin插件,設置plugin class為org.apache.struts.validator.ValidatorPlugIn

添加propertys

Property->pathnames

Value->/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml

這樣一個驗證框架就配置好了!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved