zoukankan      html  css  js  c++  java
  • JavaBean表单验证

    First Step: write the JavaBean source code.

    package register.test;
    import java.util.Map;
    import java.util.HashMap;
    public class RegisterBean {
    	private String name;
    	private String age;
    	private String email;
    	private Map<String,String> errors;
    	public RegisterBean() {
    		this.name="";
    		this.age="";
    		this.email="";
    		this.errors=new HashMap<String,String>();
    	}
    	public boolean isValid() {
    		boolean flag = true ;
    		if(!this.name.matches("\\w{6,15}")){
    			flag = false ;
    			this.name = "" ;	
    			this.errors.put("errname","user name must between 6~15 words") ;
    		}
    		if(!this.email.matches("\\w+@\\w+\\.\\w+\\.?\\w*")){
    			flag = false ;
    			this.email = "" ;	
    			this.errors.put("erremail","Email doesn't match.") ;
    		}
    		if(!this.age.matches("\\d+")){
    			flag = false ;
    			this.age = "" ;	
    			this.errors.put("errage","Age must be a number") ;
    		}
    		return flag ;
    	}
    	public String getError(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 name;
    	}
    	public String getAge() {
    		return age;
    	}
    	public String getEmail() {
    		return email;
    	}
    }

    Then We should have a register page, here we go:

    <html>
    <head>
    	<title>Register Page</title>
    </head>
    <jsp:useBean id="user" scope="request" class="register.test.RegisterBean"/>
    <body>
    <form action="check.jsp" method="post">
    	Account ID: <input type="text" name="name" value="<jsp:getProperty name="user" property="name"/>"/><%=user.getError("errname")%><br>
    	Age :       <input type="text" name="age" value="<jsp:getProperty name="user" property="age"/>"/><%=user.getError("errage")%><br>
    	Email:      <input type="text" name="email" value="<jsp:getProperty name="user" property="email"/>"/><%=user.getError("erremail")%><br>
    	<input type="submit" value="Submit">
    </form>
    </body>
    </html>

    When we submit this form, we use check.jsp to check the form content.

    <html>
    <head>
    	<title>Check Page</title>
    </head>
    <body>
    <jsp:useBean id="user" scope="request" class="register.test.RegisterBean"/>
    <jsp:setProperty name="user" property="*"/>
    	<% if (user.isValid()) {%>
    	<jsp:forward page="show.htm"/>
    	<%} else {%>
    	<jsp:forward page="index1.jsp"/>
    	<%}%>
    </body>
    </html>

    Here we omit the show page, it's not important.


    *we should notice something here

    ->we should use the label to setProperty for the instance of a JavaBean, it will never be done automatically.

    ->when we need some data from the JavaBean, we use getProperty and if we need to modify the data, we must use setProperty label manually.



  • 相关阅读:
    java通过sort()方法实现数组和集合升序降序排列
    基本数据类型和它们的包装类
    final和static关键字
    对象的回收
    栈和堆
    成员变量和局部变量
    Nginx服务器的Websockets配置方法
    failed: Error during WebSocket handshake: Unexpected response code: 404
    使用Nginx做WebSockets代理教程
    详解Nginx反向代理WebSocket响应403的解决办法
  • 原文地址:https://www.cnblogs.com/jackhub/p/3147236.html
Copyright © 2011-2022 走看看