[list]
@RequestMapping(value="helloWorld", method="GET|POST", showValErr="dwzJson") public void hello(PrintWriter out){ out.print("hello world!"); }
现在写法:
@Path("helloWorld") @GET @POST @ShowValMess("dwzJson") public void hello(PrintWriter out){ out.print("hello world!"); }
@Controller @Path("users") public class UserControlTest { @Required @IDCard private long idCard;// 身份证号码,必填 @Required @Chinese private String chineseName;// 中文姓名,必填 @Date(format="yyyy年MM月dd号") private String birthDay;//出生日期,格式:yyyy年MM月dd号 @Int @Size(min = 18, max = 50) private int age = 0;// 年龄 0 为保密 @Required @Length(min = 6, max = 18) private String account;// 帐号,必填 @Required @Length(min = 6, max = 32) private String password;// 密码,必填 @Equals(to="password", mess="请确认密码") private String confirmPwd;// 确认密码 @Email private String email;// 邮件地址 @QQ private String qq;// QQ号码 @Enum(words = { "男", "女", "保密" }) private String gender;// 性别 @Length(min = 50, max = 500) @Forbid(words = { "独立", "反gong", "性爱" }) private String intro;// 个人简介,要求文明用语 @Path("profile") @GET @ShowValMess("input.jsp") // 验证信息在显示 public void showProfile(PrintWriter out) { out.print(this); } @Override public String toString() { return "User [idCard=" + idCard + ", chineseName=" + chineseName + ", birthDay=" + birthDay + ", age=" + age + ", account=" + account + ", password=" + password + ", confirmPwd=" + confirmPwd + ", email=" + email + ", qq=" + qq + ", gender=" + gender + ", intro=" + intro + "]"; } }
测试页面input.jsp:
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>欢迎使用EWeb4J框架 !</title> <style> *{ font-family:Verdana, Geneva, sans-serif; margin:0; padding:0; font-size:12px; line-height:12px;} .unit{ margin:0 auto;width:500px; padding:10px;} .unit span{padding:5px; color:red; display:block; text-align:center;} label{ display:inline-block; padding:10px; padding-right:20px; width:100px; text-align:right; font-size:14px;} input,select{width:250px;height:30px;} .button{width:50px;} </style> </head> <body> <form action="profile" method="get"> <div class="unit"> <label>身份证号码:</label> <input type="text" name="idCard" value="${idCard[0]}" /> <span>${valError.idCard}</span> </div> <div class="unit"> <label>中文姓名:</label> <input type="text" name="chineseName" value="${chineseName[0]}" /> <span>${valError.chineseName}</span> </div> <div class="unit"> <label>出生日期:</label> <input type="text" name="birthDay" value="${birthDay[0]}" /> <span>${valError.birthDay}</span> </div> <div class="unit"> <label>年龄:</label> <input type="text" name="age" value="${age[0]}" /> <span>${valError.age}</span> </div> <div class="unit"> <label>帐号:</label> <input type="text" name="account" value="${account[0]}" /> <span>${valError.account}</span> </div> <div class="unit"> <label>密码:</label> <input type="password" name="password" value="${password[0]}" /> <span>${valError.password}</span> </div> <div class="unit"> <label>确认密码:</label> <input type="password" name="confirmPwd" value="${confirmPwd[0]}" /> <span>${valError.confirmPwd}</span> </div> <div class="unit"> <label>邮件地址:</label> <input type="text" name="email" value="${email[0]}" /> <span>${valError.email}</span> </div> <div class="unit"> <label>QQ:</label> <input type="text" name="qq" value="${qq[0]}" /> <span>${valError.qq}</span> </div> <div class="unit"> <label>性别:</label> <select name="gender"> <option selected="selected">保密</option> <option>男</option> <option>女</option> <option>人妖</option> </select> <span>${valError.gender}</span> </div> <div class="unit"> <label>个人简介:</label> <textarea name="intro" rows="8" cols="50" >${intro[0]}</textarea> <span>${valError.intro}</span> </div> <div class="unit" > <center> <input class="button" type="submit" value="提交" /> <input class="button" type="reset" value="重置" /></center> </div> </form> </body> </html>
eweb没有自己写标签库,验证器验证得到的提示信息将会保存在request或session中,保存的key为"valError",它是一个map,所有的错误信息以字段名字为key进行保存.因此在jsp上可以这样来写:request.getAttribute("valError"); 不过我们肯定使用EL表达式来取数据啦.
eweb新的验证器默认有提示信息,当开发者不显示提供提示信息内容,就会采用,下面列出这些默认的信息内容.
@chinese // 请填写全中文 @Date(format="yyMMdd") // 请填写正确的日期格式:yyMMdd @Email // 请填写正确的Email格式,例如:yourname@domain.com @Enum(words={"a","b"}) // 请输入下列的值:[a#b] @Equals(to="xxx") // 请确认{值} @Forbid(words={"a","b"}) // 请不要包含下列字眼:[a#b] @IDCard // 请填写正确的身份证号码,例如:441625198306051616 @Int // 请填写正确的整数,例如:5 @IP // 请填写正确的IP地址,例如:192.168.0.1 @Length(min=2,max=5) // 请填写一个长度介于 2 到 5 之间的字符串 @Phone // 请填写正确的家庭固话号码,例如0759-3365542 @QQ // 请填写正确的QQ号码,例如549189557 @Regex(pattren="xx") // 请填写匹配以下正则表达式的值:xx @Required // 请完成必填内容 @Size(min=2,max=5) // 请填写一个大小介于 2 到 5 之间的整数 @Url // 请填写正确的URL,例如:http://www.google.com @Zip // 请填写正确的邮编号码,例如:524088
部署到tomcat,打开input.jsp:
然后什么都不填写,提交:
接着随便输入,提交:
最后,全部填写正确,提交:
[/list]