zoukankan      html  css  js  c++  java
  • struts2学习(11)struts2验证框架1.验证简介、内置验证

    一、Struts2验证简介:

    二、struts2内置验证:

    下面例子,需求是:为用户注册进行验证;

    com.cy.model.User.java:

    package com.cy.model;
    
    public class User {
    
        private String userName;
        private String name;
        private int age;
        private String email;
        private String homePage;
        public String getUserName() {
            return userName;
        }
        public void setUserName(String userName) {
            this.userName = userName;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getEmail() {
            return email;
        }
        public void setEmail(String email) {
            this.email = email;
        }
        public String getHomePage() {
            return homePage;
        }
        public void setHomePage(String homePage) {
            this.homePage = homePage;
        }
        @Override
        public String toString() {
            return "User [userName=" + userName + ", name=" + name + ", age=" + age
                    + ", email=" + email + ", homePage=" + homePage + "]";
        }
        
        
    }
    View Code

    com.cy.action.RegisterAction.java:

    package com.cy.action;
    
    import com.cy.model.User;
    import com.opensymphony.xwork2.ActionSupport;
    
    public class RegisterAction extends ActionSupport {
    
        private static final long serialVersionUID = 1L;
        
        private User user;
    
        public User getUser() {
            return user;
        }
    
        public void setUser(User user) {
            this.user = user;
        }
    
        @Override
        public String execute() throws Exception {
            System.out.println("传入的用户" + user);
            return SUCCESS;
        }
        
    }
    View Code

    RegisterAction-validation.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
    <validators>
        <field name="user.userName">
            <field-validator type="requiredstring">
                <message>请输入用户名</message>
            </field-validator>
            <field-validator type="stringlength">
                <param name="minLength">6</param>
                <param name="maxLength">10</param>
                <message>用户名必须在${minLength}和${maxLength}之间</message>
            </field-validator>
        </field>
        
        <field name="user.name">
            <field-validator type="requiredstring">
                <message>请输入姓名</message>
            </field-validator>
        </field>
        
        <field name="user.age">
            <field-validator type="int">
                <param name="min">18</param>
                <message>年龄必须满18周岁</message>
            </field-validator>
        </field>
        
        <field name="user.email">
            <field-validator type="requiredstring">
                <message>请输入邮件</message>
            </field-validator>
            <field-validator type="email">
                <message>邮件格式不对</message>
            </field-validator>
        </field>
        
        <field name="user.homePage">
            <field-validator type="requiredstring">
                <message>请输入主页</message>
            </field-validator>
            <field-validator type="url">
                <message>主页格式不对</message>
            </field-validator>
        </field>
        
        <!-- 
            <![CDATA[xxxx]]>表示忽略里面的一些特殊的转义字符
         -->
        <validator type="expression">
            <param name="expression"><![CDATA[!user.name.equals(user.userName)]]></param>
            <message>用户名和真实姓名不能相同</message>
        </validator>
        
    </validators>
    View Code

    struts.xml配置:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
        
        <package name="manage" extends="struts-default">
            <action name="registerAction" class="com.cy.action.RegisterAction">
                <!-- 如果验证失败的话,返回到register.jsp注册页面 -->
                <result name="input">register.jsp</result>
                <result name="success">success.jsp</result>
            </action>
        </package>
        
    </struts>

    register.jsp:

    <%@ 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=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
      <!-- 这个作用就是表达式验证失败的错误信息,显示在这里。 -->
    <s:actionerror/> <s:form action="/registerAction" method="post"> <s:textfield name="user.userName" label="用户名"></s:textfield> <s:textfield name="user.name" label="真实姓名"></s:textfield> <s:textfield name="user.age" label="年龄"></s:textfield> <s:textfield name="user.email" label="邮件"></s:textfield> <s:textfield name="user.homePage" label="主页"></s:textfield> <s:submit value="注册"></s:submit> </s:form> </body> </html>

    success.jsp:

    <body>
    注册成功!
    </body>
    View Code

    测试:

    注册填写失败,提示信息:

    注册成功,console打印:

  • 相关阅读:
    Dynamics AX 2012 R2 配置E-Mail模板
    Dynamics AX 2012 R2 设置E-Mail
    Dynamics AX 2012 R2 为运行失败的批处理任务设置预警
    Dynamics AX 2012 R2 耗尽用户
    Dynamics AX 2012 R2 创建一个专用的批处理服务器
    Dynamics AX 2012 R2 创建一个带有负载均衡的服务器集群
    Dynamics AX 2012 R2 安装额外的AOS
    Dynamics AX 2012 R2 将系统用户账号连接到工作人员记录
    Dynamics AX 2012 R2 从代码中调用SSRS Report
    Dynamics AX 2012 R2 IIS WebSite Unauthorized 401
  • 原文地址:https://www.cnblogs.com/tenWood/p/7103894.html
Copyright © 2011-2022 走看看