struts里面的方法校验
一、全局方法检验
1、校验输入界面
<body>
<s:property value="fieldErrors.usernameError[0]"/>
<s:property value="fieldErrors.passwordError[0]" />
<form action="validate_save">
姓名:<input type="text" name="username" value="" ><br/>
密码:<input type="password" name="password" value="" ><br/>
<input type="submit" value="提交">
</form>
</body>
2、struts.xml里面action配置
<struts> <package name="main" namespace="/" extends="struts-default"> <action name="validate_*" class="com.edu.hpu.action.ValidateAction" method="{1}"> <result>/WEB-INF/validate/validate_{1}.jsp</result> <result name="input">/WEB-INF/validate/validate_input.jsp</result> </action> </package> </struts>
3、ValidateAction(当输入不符合请求的时候,validate()方法会返回INPUT)
package com.edu.hpu.action;
import com.opensymphony.xwork2.ActionSupport;
public class ValidateAction extends ActionSupport {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String save() {
return SUCCESS;
}
public String input() {
return INPUT;
}
/**
* 重写validate()方法,进行全局校验
*/
@Override
public void validate() {
if(username == null || username.trim().equals("")) {
this.addFieldError("usernameError", "用户名为空");
} else if(password == null || password.trim().equals("")) {
this.addFieldError("passwordError", "密码为空");
}
}
}
二、局部方法检验规则(注意命名规则)
/**
* 局部方法校验:
* 命名规则:
* validateSave:validate(固定写法) + Save(要检验的方法名)
*/
public void validateSave() {
if(username == null || username.trim().equals("")) {
this.addFieldError("usernameError", "用户名为空");
} else if(password == null || password.trim().equals("")) {
this.addFieldError("passwordError", "密码为空");
}
}