以用户登录表单添加验证功能为例
在LoginForm类中添加一个验证函数validate(),改函数继承自其父类ActionForm 包含两个变量
ActionMapping
HttpServletRequest
1 LoginForm的validate()方法
创建ActionErrors对象errors 用于保存验证错误的提示信息
检验用户名是否为空 如果为空 则保存错误信息 该信息引用资源文件中的标签
返回验证的错误信息errors
- public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
- ActionErrors errors = new ActionErrors();
- if (username == null || username.equals("")) {
- errors.add("username", new ActionMessage(
- "login.error.username"));
- }
- if (password == null
- || password.equals("")) {
- errors.add("password", new ActionMessage(
- "login.error.password"));
- }
- arg1.setAttribute("loginFormBean", this);
- return errors;
- }
2 上面的错误信息中 添加了两个资源引用的标签 我们在ApplicationResourcestemp.properties中添加如下的两个标签
- # loginForm
- login.error.username=用户名不能为空
- login.error.password=密码不能为空
并使用命令native2ascii转换更新到ApplicationResources_zh_CN.properties 同样的 也需要在ApplicationResources.properties中添加英文的标签
3 在JSP页面中输出这个两个错误信息提示 在用户名和密码的文本框后各添加一个标签
部分代码:
- <tr>
- <td><bean:message key="login.page.username" /></td>
- <td><logic:present name="loginFormBean">
- <html:text property="username" name="loginFormBean" />
- </logic:present>
- <logic:notPresent name="loginFormBean">
- <input type="text" name="username">
- </logic:notPresent>
- <html:errors property="username" />
- </td>
</tr>
<tr>
- <td><bean:message key="login.page.password" /></td>
- <td><logic:present name="loginFormBean">
- <html:password property="password" name="loginFormBean" />
- </logic:present>
- <logic:notPresent name="loginFormBean">
- <input type="password" name="password">
- </logic:notPresent>
- <html:errors property="password" />
- </td>
</tr>
阅读(932) | 评论(0) | 转发(0) |