struts2 validate验证

来源:互联网 发布:网络门店管理系统 编辑:程序博客网 时间:2024/06/05 15:32

struts2提供了validater框架验证,使用struts2框架验证必须和对应的Action类的名称保持一致;

例:1.动作类Action:LoginAction

    package com.allway.luo;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
      private String loginname;
      private String password;
 public String getLoginname() {
  return loginname;
 }
 public void setLoginname(String loginname) {
  this.loginname = loginname;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }
 @Override
 public String execute() throws Exception {
  return SUCCESS;
 }
 @Override
 public void validate() {
  // TODO Auto-generated method stub
  if("".equals(loginname)||"".equals(password))
  {
   this.addActionError("用户名密码不能为空看");
  }
    
}

2.页面代码如下:

<%@ page language="java" contentType="text/html; charset=utf-8"   pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<s:form action="Login" method="post" validate="true">
<tr><td><s:label value="姓名" theme="simple"></s:label></td><td><s:textfield theme="simple" name="loginname"></s:textfield></td></tr>
 <tr><td><s:label value="密码" theme="simple"></s:label></td><td><s:textfield theme="simple" name="password"></s:textfield></td></tr>
 <tr><td></td><td><s:submit theme="simple" value="登录"></s:submit></td></tr>

</s:form>
</body>
</html>

要使用validate验证必须在form标签里加入validate="true",切记在这里不可以加入<table></table>负责会出现错误信息累加的情况,自定义显示风格时必须要有theme属性等于simple,最好不要写在form标签里,如果写在form标签里会和validate="true"冲突,会被冲掉效果的.

3.验证文件:LoginAction-validation.xml如下:

<!DOCTYPE validators PUBLIC 
   "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
    "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
 
   <field name="loginname">
    <field-validator type="requiredstring">
      <message>*账号不能为空</message>
    </field-validator>
  </field>
   <field name="password">
    <field-validator type="requiredstring">
      <message>*邮件不能为空</message>
    </field-validator>
    <field-validator type="email">
      <message>*邮件格式不正确</message>
    </field-validator>
  </field>
</validators>
此处要注意当一个action里含有多个动作方法时,每个动作方法都需要各自验证时,可以根据动作方法名(或此方法对应的在struts.xml里的aciton名称)例如:LoginAction-register-validation.xml

原创粉丝点击