首页 > 其他 > 详细

struts2 表单验证

时间:2017-04-13 22:55:40      阅读:168      评论:0      收藏:0      [点我收藏+]

表单验证有两种方式,代码验证和xml配置验证器验证。每种方法都可以设置全局验证和单个方法验证。感觉单个方法用的多一点。

 

例子:用户注册,进行验证。表单如下

<form action="${pageContext.servletContext.contextPath }/User_register.do" method="post">
        <table align="center" border="1" cellpadding="5" cellspacing="0">
            <tr>
                <th>用户名:</th>
                <td><input type="text" name="user.uname"></td>
            </tr>
            <tr>
                <th>年龄:</th>
                <td><input type="text" name="user.uage"></td>
            </tr>
            <tr>
                <th>性别:</th>
                <td><input type="text" name="user.ugender"></td>
            </tr>
            <tr>
                <th>生日:</th>
                <td><input type="text" name="user.ubirthday"></td>
            </tr>
            <tr>
                <td colspan="2" align="center"><input type="submit" value="提交" /> </td>
            </tr>
            
        </table>
        
    </form>

struts.xml配置信息

  <package name="Userpkg" extends="struts-default">
        <action name="User_*" class="com.huitong.action.UserAction" method="{1}">
            <result name="success">/index.jsp</result>
        </action>
    </package>

 

方式一、代码验证,主要方法是:ActionSupport.validate,该方法是对全局进行验证。

如果想要对某一方法进行验证,方法名命名规则:validate+方法名,方法名首字母大写。

例如:我写的方法是

    public String register(){
        
        System.out.println(user);
        return SUCCESS;
    }

那么要验证方法名是:validateRegister,简单实现如下

    public void validateRegister() {
        if(user.getUname() == null || "".equals(user.getUname().trim())){
            super.addFieldError("username", "用户名不能为空!");
            return;
        }
        if(user.getUgender()==null || "".equals(user.getUgender().trim())){
            super.addFieldError("genderempty", "性别不能为空!");
            return;
        }        
        
    }

 

方式二:xml验证,struts2提供的验证器可以在xwork2/validator/validators/default.xml文件中查找。配置文件的书写格式查看/xwork-validator-1.0.3.dtd

配置文件名书写规则:ActionClassName-action name-validation.xml,如果是全局的验证就是ActionClassName-validation.xml。

 

简单例子如下:文件名是:/webappstruts3/src/com/huitong/action/UserAction-User_register-validation.xml

注意:该配置文件是和相应的action文件在同一个目录中。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
          "-//Apache Struts//XWork Validator 1.0.3//EN"
          "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
    <field name="user.uname">
        <field-validator type="requiredstring" >
            <message>用户名不能为空</message>
        </field-validator>
    </field>
    
</validators>

 

struts2 表单验证

原文:http://www.cnblogs.com/zhaopengcheng/p/6706646.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!