• JavaBean--实例:注册验证


    通过JSP+JavaBean完成一个注册用户的验证功能:

    index.jsp: 注册信息填写页,同时对错误数据进行错误提示

    check.jsp:将输入表单数据自动赋值给JavaBean,同时验证,失败返回index

    success.jsp:成功页,显示用户注册成功信息

    Register.java:注册使用的JavaBean,可以接受参数,同时判断,返回错误结果

    注意:由于错误不固定,所以使用Map接口保存所有的错误信息。

    Register.java:

    package cn.mldn.lxh.demo ;
    import java.util.HashMap ;
    import java.util.Map ;
    public class Register {
        private String name ;
        private String age ;    // 这种接收参数的时候如果是用户自己输入的情况下,就是使用String
        private String email ;
        private Map<String,String> errors = null ;
        public Register(){
            this.name = "" ;
            this.age = "" ;
            this.email = "" ;
            this.errors = new HashMap<String,String>() ;
        }
        public boolean isValidate(){
            boolean flag = true ;
            if(!this.name.matches("\w{6,15}")){
                flag = false ;
                this.name = "" ;    // 清空原本的name内容
                this.errors.put("errname","用户名是6~15位的字母或数字。") ;
            }
            if(!this.email.matches("\w+@\w+\.\w+\.?\w*")){
                flag = false ;
                this.email = "" ;    // 清空原本的name内容
                this.errors.put("erremail","输入的email地址不合法。") ;
            }
            if(!this.age.matches("\d+")){
                flag = false ;
                this.age = "" ;    // 清空原本的name内容
                this.errors.put("errage","年龄只能是数字。") ;
            }
            return flag ;
        }
        public String getErrorMsg(String key){
            String value = this.errors.get(key) ;
            return value==null?"":value ;
        }
        public void setName(String name){
            this.name = name ;
        }
        public void setAge(String age){
            this.age = age ;
        }
        public void setEmail(String email){
            this.email = email ;
        }
        public String getName(){
            return this.name ;
        }
        public String getAge(){
            return this.age ;
        }
        public String getEmail(){
            return this.email ;
        }
    }

    index.jsp:

    <%@ page contentType="text/html" pageEncoding="GBK"%>
    <html>
    <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
    <%
        request.setCharacterEncoding("GBK") ;
    %>
    <jsp:useBean id="reg" scope="request" class="cn.mldn.lxh.demo.Register"/>
    <body>
    <form action="check.jsp" method="post">
        用户名:<input type="text" name="name" value="<jsp:getProperty name="reg" property="name"/>"/><%=reg.getErrorMsg("errname")%><br>&nbsp;&nbsp;龄:<input type="text" name="age" value="<jsp:getProperty name="reg" property="age"/>"/><%=reg.getErrorMsg("errage")%><br>
        E-MAIL:<input type="text" name="email" value="<jsp:getProperty name="reg" property="email"/>"/><%=reg.getErrorMsg("erremail")%><br>
        <input type="submit" value="注册">
        <input type="reset" value="重置">
    </form>
    </body>
    </html>

    check.jsp:

    <%@ page contentType="text/html" pageEncoding="GBK"%>
    <html>
    <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
    <%
        request.setCharacterEncoding("GBK") ;
    %>
    <jsp:useBean id="reg" scope="request" class="cn.mldn.lxh.demo.Register"/>
    <jsp:setProperty name="reg" property="*"/>
    <body>
    <%
        if(reg.isValidate()){
    %>
            <jsp:forward page="success.jsp"/>
    <% 
        } else {
    %>
            <jsp:forward page="index.jsp"/>
    <%
        }
    %>
    </body>
    </html>

    success.jsp:

    <%@ page contentType="text/html" pageEncoding="GBK"%>
    <html>
    <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
    <%
        request.setCharacterEncoding("GBK") ;
    %>
    <jsp:useBean id="reg" scope="request" class="cn.mldn.lxh.demo.Register"/>
    <body>
        用户名:<jsp:getProperty name="reg" property="name"/><br>&nbsp;&nbsp;龄:<jsp:getProperty name="reg" property="age"/><br>
        E-MAIL:<jsp:getProperty name="reg" property="email"/><br>
    </body>
    </html>

    总结:

    1. 完全利用JavaBean的自动赋值以及request保存范围

    2. JavaBean可以封装一些操作,此例不够好,以后慢慢深入

  • 相关阅读:
    TP5.x——打印SQL语句
    PHP——运行shell命令|脚本
    Git——取消merge状态
    Typecho——简介及安装
    Vue——服务器上部署vue.js
    Node——服务器上安装Node.js
    PHP——敏感词过滤
    PHP——emjoin表情存入数据库
    什么是脚本语言
    全局拦截各种http请求
  • 原文地址:https://www.cnblogs.com/wujixing/p/4958237.html
Copyright © 2020-2023  润新知