可以使用wildcard mappings和associating your validation rules與單一動作類做到這一點:
通配符映射
在你的struts.xml中,定義了以下這樣一個動作:
<action name="user-*" class="DoSomething" method="{1}" >
<result name="input">/WEB-INF/{1}.jsp</result>
<result name="success">/WEB-INF/{1}-success.jsp</result>
</action>
然後您可以使用以下兩個URL中的任意一個調用DoSomething
動作類:
http://yourapp.com/user-login.action
http://yourapp.com/user-details.action
結果將會是連字符後面的部分(「登錄」或「詳細信息」)將取代您的動作定義中的{1}
。因此,第一個URL將調用DoSomething.login()
方法,轉到INPUT上的login.jsp或SUCCESS上的login-success.jsp。
您只需要在DoSomething
類中定義login()
和details()
方法。
驗證規則協會
爲了驗證規則與DoSomething
動作類關聯,簡單地命名包含它們DoSomething的-validation.xml中 .xml文件。由於用戶登錄和用戶詳細信息請求都使用該類,因此這兩個規則將運行。
來源
2010-08-04 13:53:00
Pat
謝謝帕特我會檢查這一點。 – 2010-08-08 09:32:53