这是一种编码校验的方法, 我重写ActionSupport父类的validate方法来实现 .
Action执行时一定会执行validate方法, 若有不合格的输入 就调用addFieldError ("age", "年领应在0-200之间");方法.
1 login.jsp
HTML标签:
Html代码
错误信息 :<s:fielderror ></s:fielderror>
<form action="login.action" method="post">
用户名:<input type="text" name="username" value="${username}"/><br>
年 龄:<input type="text" name="age" value="${age} "/><br>
生 日:<input type="text" name="birthday" value="${birthday}"/><br>
点对象:<input type="text" name="point" value="${point} "/><br>
<input type="submit" value="提交"/>
</form>
struts2标签
Html代码
<s:form action="login">
<s:textfield name="username" label="用户名 "></s:textfield>
<s:textfield name="age" label="年 龄 "></s:textfield>
<s:textfield name="birthday" label="生 日 "></s:textfield>
<s:textfield name="point" label="点对象 "></s:textfield>
<s:submit></s:submit>
</s:form>
2 LoginAction.java
Java代码
package ssh.org.web;
import java.util.Date;
import java.util.List;
import ssh.org.util.Point;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport
{
/**
*
*/
private static final long serialVersionUID = 1L;
private String username;
private int age;
private Date birthday;
private List<String> aihao;
@Override
public String execute() throws Exception
{
return "success";
}
@Override
public void validate()
{
if (age < 0 || 200 < age)
{
addFieldError("age", "年领应在0-200之间");
}
}
}
看上面的validate()方法,很简洁,因为少了类型转换,这个工作由Struts2内建的类型转换器把请 求参数转换为所须要的类型.