struts1 和 struts2中的validate

来源:互联网 发布:centos wingide 安装 编辑:程序博客网 时间:2024/06/05 23:53

STRUTS1

 

1,重写FormAction的validate方法

public ActionErrors validate(ActionMapping mapping,
   HttpServletRequest request) {
  ActionErrors erros = new ActionErrors();
  Locale local = RequestUtils.getUserLocale(request, null);
  
  if("".equals(user.getUsername().trim()))
 erros.add("username", new ActionMessage("error.username",ResourceBundle.getBundle("joeho.blog.csdn.resource.ApplicationResource",local).getString("prompt.username")));
  return erros;
 }

 

2,在页面中进行展示

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<html:errors bundle="mykey" property="username"/>

 

 

 

STRUTS2

1,重写ActionSupport的validate方法

 @Override
 public void validate() {
  if(username==null||this.username.trim().equals("")){
   this.addFieldError("username", "用户名不能为空");
  }
  if(mobile==null||this.mobile.trim().equals("")){
   this.addFieldError("mobile", "手机号不能为空");
  }
  else{
   if(!Pattern.compile("^1[358]//d{9}$").matcher(this.mobile).matches()){
    this.addFieldError("mobile", "手机号格式不正确");
   }
  }
  
  super.validate();
 }

 

如果只对ACTION中的某一个方法(如update())进行校验,重写validate的名称为

validateUpdate(){}

 

 

 

2,在页面中进行展示

<%@ taglib uri="/struts-tags" prefix="s" %>

 <s:fielderror />

 

在XML文件中

<result name="input">/regist.jsp</result>

 

 

原创粉丝点击