回顾内容:
错误信息保存:Map 接口:http://blog.csdn.net/zhangze_wancheng/article/details/7815978
注册验证Bean程序
D:\ProgramFiles\webdemo\WEB-INF\classes\Register.java
package zz.registerdemo; import java.util.Map; import java.util.HashMap; public class Register{ private String name; private String age; 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; name = ""; errors.put("errName","用户名是6~15位的字母、数字或下划线!"); } if (!(this.email.matches("\\w+@\\w+\\.\\w+\\.?\\w*"))){ flag = false; email = ""; errors.put("errEmail","输入的Email地址不合法!"); } if (!(this.age.matches("\\d+"))){ flag = false; age = ""; errors.put("errAge","年龄只能是数字!"); } return flag; } public String getErrors(String key){ String value = this.errors.get(key); return value==null?"":value; } public void setName(String name){ this.name = name; } public String getName(){ return this.name; } public void setAge(String age){ this.age = age; } public String getAge(){ return this.age; } public void setEmail(String email){ this.email = email; } public String getEmail(){ return this.email; } }
表单输入首页
D:\ProgramFiles\webdemo\7_java_bean\index1.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%> <html> <head><title>表单输入首页</title></head> <% request.setCharacterEncoding("GBK"); // 解决中文乱码%> <!--定义request范围的javaBean--> <jsp:useBean id="register" scope="request" class="zz.registerdemo.Register"/> <body> <form action = "check.jsp" method ="post"> 用户名:<input type="text" name="name" value ="<jsp:getProperty name="register" property="name"/>"> <%=register.getErrors("errName")%><br> 年 龄:<input type="text" name = "age" value ="<jsp:getProperty name="register" property="age"/>"> <%=register.getErrors("errAge")%><br> E-mail:<input type="text" name = "email" value ="<jsp:getProperty name="register" property="email"/>"> <%=register.getErrors("errEmail")%><br> <input type="submit" value="注册"><input type="reset" value="重置"> </form> </body> </html>
表单验证页
D:\Program Files\webdemo\7_java_bean\check.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%> <html> <head><title>表单验证页</title></head> <% request.setCharacterEncoding("GBK"); // 解决中文乱码%> <!--定义request范围的javaBean--> <jsp:useBean id="register" scope="request" class="zz.registerdemo.Register"/> <jsp:setProperty name="register" property="*"/> <!--为属性自动赋值--> <body> <% if (register.isValidate()){ %> <jsp:forward page="success.jsp"/> <% }else{ %> <jsp:forward page="index1.jsp"/> <% } %> </body> </html>
成功注册页
D:\ProgramFiles\webdemo\7_java_bean\success.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%> <html> <head><title>欢迎页</title></head> <% request.setCharacterEncoding("GBK"); // 解决中文乱码%> <!--定义request范围的javaBean--> <jsp:useBean id="register" scope="request" class="zz.registerdemo.Register"/> <body> 用户名:<jsp:getProperty name = "register" property="name"/><br> 年 龄:<jsp:getProperty name = "register" property="age"/><br> E-mail:<jsp:getProperty name = "register" property="email"/><br> </body> </html>页面运行效果:
org.apache.jasper.JasperException: /7_java_bean/index1.jsp(1,1) Unterminated <%@ page tag
解决:<%@ page contentType="text/html" , pageEncoding="GBK"%> 去掉“,”
<jsp:useBean id="register"scope="request" class="zz.registerdemo.Register"/>
VS
<jsp:setProperty name="register"property="*"/> <!--为属性自动赋值-->3、register.isValidate()方法中标志位的设置flag
4、返回值判断return vallue=null?””:value