使用XML對Action方法進行校驗方式有兩種,一種是對Action的所有方法進行校驗,另一種是對Action指定方法進行校驗.
對Action的所有方法進行校驗:
步驟:
1.創建Action需要繼承ActionSupport
2.提供校驗的xml文件,該文件和action放在同一個包下
校驗文件的取名格式為:PersonAction-validation.xml,其中PersonAction為action的簡單類名,-valication為固定寫法
示例:
Action:
- public class PersonAction extends ActionSupport{
- private String username;
- private String mobile;
-
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getMobile() {
- return mobile;
- }
- public void setMobile(String mobile) {
- this.mobile = mobile;
- }
-
- public String update(){
- ActionContext.getContext().put("message", "更新成功");
- return "message";
- }
-
- public String save(){
- ActionContext.getContext().put("message", "保存成功");
- return "message";
- }
- }
校驗的xml文件:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
- <validators>
- <field name="username">
- <field-validator type="requiredstring">
- <param name="trim">true</param>
- <message>用戶名不能為空!</message>
- </field-validator>
- </field>
- <field name="mobile">
- <field-validator type="requiredstring">
- <message>手機號不能為空!</message>
- </field-validator>
- <field-validator type="regex">
- <param name="expression"><![CDATA[^1[358]\d{9}$]]></param>
- <message>手機號格式不正確!</message>
- </field-validator>
- </field>
- </validators>
通過Struts2標簽庫打印校驗信息:
- <%@ taglib uri="/struts-tags" prefix="s"%>
- <s:fielderror/>
對Action指定方法進行校驗:
要對指定的Action方法進行校驗必須指明要校驗的方法,指明校驗的方法需要修改校驗的文件名稱,比如”PersonAction-manage_update-validation.xml“,
PersonAction為要校驗的Action;
manage_update指定Action中校驗的方法如下struts.xml的 action name
validation為規定名稱。
- <struts>
- <package name="person" namespace="/person" extends="struts-default">
- <action name="manage_*" class="cn.itcast.action.PersonAction" method="{1}">
- <result name="input">/index.jsp</result>
- <result name="message">/WEB-INF/page/message.jsp</result>
- </action>
- </package>
- </struts>