使用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"?>
- >
- <validators>
- <field name="username">
- <field-validator type="requiredstring">
- <param name="trim">trueparam>
- <message>用戶名不能為空!message>
- field-validator>
- field>
- <field name="mobile">
- <field-validator type="requiredstring">
- <message>手機號不能為空!message>
- field-validator>
- <field-validator type="regex">
- <param name="expression">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.jspresult>
- <result name="message">/WEB-INF/page/message.jspresult>
- action>
- package>
- struts>