1.Struts2手动校验
1.重写actionsupport类的validate方法,action需要继承ActionSupport类
public class StrutshAction extends ActionSupport{
在validate()、validateXxx()方法中使用addFieldError()方法保存校验错误信息
// @Override
// public void validate() {//手动后台校验
// System.out.println("后台手动校验");
// if(user.getUsername()==null||user.getUsername().trim().equals("")){
// this.addFieldError("username", "用户名不能为空");
// }
// if(user.getPassword()==null||user.getPassword().trim().equals("")){
// this.addFieldError("password", "密码不能为空");
// }
//
// }
// public void validateLogin() {//手动后台校验 只校验login方法
// System.out.println("后台手动校验");
// if(user.getUsername()==null||user.getUsername().trim().equals("")){
// this.addFieldError("username", "用户名不能为空");
// }
// if(user.getPassword()==null||user.getPassword().trim().equals("")){
// this.addFieldError("password", "密码不能为空");
// }
//
// }
上面的这种方式会对LoginAction里面所有的action方法进行拦截校验,如果只想对login方法进行校验,需要修改validate方法名为validateLogin。
Action的配置信息中要加入name=“input”的视图,确定错误显示页面
<result name=“input”>/xxx.jsp</result>
前台页面如果要看到错误信息:
1. 页面引入Struts标签
2. 用
<form action="user_execute">
用户名:<input type="text" id="username" name="user.username"/><