JavaBean實例操作----註冊驗證

程序

描述

index.jsp

註冊信息填寫頁,同時會將輸入錯誤的數據進行錯誤提示

check.jsp

將輸入的表單數據自動賦值給JavaBean,同時進行驗證,如果失敗則返回index.jsp

success.jsp

註冊成功頁,可以顯示出用戶註冊成功的信息

Register.java

註冊使用的JavaBean,可以接收參數,同時進行判斷,並返回錯誤的結果


Register.java

package he.xiao.wei;
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 = "";
			this.errors.put("errname", "用戶名是6~15位的字母或數字.");
		}
		if(!this.email.matches("\\w+@\\w+.\\w+\\.?\\w*")){
			flag = false;
			this.email = "";
			this.errors.put("erremail", "輸入的email地址不合法.");
		}
		if(!this.age.matches("\\d+")){
			flag = false;
			this.age = "";
			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>歡迎來到望星空</title></head>
<%
	request.setCharacterEncoding("GBK");
%>
<body>
<jsp:useBean id="reg" scope="request" class="he.xiao.wei.Register"/>
<form action="check.jsp" method="post">
	用戶名:<input type="text" name="name" value="<jsp:getProperty name="reg" property="name"/>"/><%=reg.getErrorMsg("errname")%><br>
	年  齡:<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>歡迎來到望星空</title></head>
<%
	request.setCharacterEncoding("GBK");
%>
<jsp:useBean id="reg" scope="request" class="he.xiao.wei.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>歡迎來到望星空</title></head>
<%
	request.setCharacterEncoding("GBK");	
%>
<jsp:useBean id="reg" scope="request" class="he.xiao.wei.Register"/>
<body>
	用戶名:<jsp:getProperty name="reg" property="name"/><br>
	年  齡:<jsp:getProperty name="reg" property="age"/><br>
	E-MAIL:<jsp:getProperty name="reg" property="email"/><br>
</body>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章