Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2316334
  • 博文数量: 252
  • 博客积分: 5472
  • 博客等级: 大校
  • 技术积分: 3107
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-17 18:39
文章分类

全部博文(252)

文章存档

2012年(96)

2011年(156)

分类: 系统运维

2011-12-23 09:16:23

以用户登录表单添加验证功能为例
 
在LoginForm类中添加一个验证函数validate(),改函数继承自其父类ActionForm 包含两个变量
ActionMapping
HttpServletRequest
 
1  LoginForm的validate()方法
 
创建ActionErrors对象errors 用于保存验证错误的提示信息
检验用户名是否为空 如果为空 则保存错误信息 该信息引用资源文件中的标签
返回验证的错误信息errors
 
  1. public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
  2.         ActionErrors errors = new ActionErrors();
  3.         if (username == null || username.equals("")) {
  4.             errors.add("username", new ActionMessage(
  5.                     "login.error.username"));
  6.         }
  7.         if (password == null
  8.                 || password.equals("")) {
  9.             errors.add("password", new ActionMessage(
  10.                     "login.error.password"));
  11.         }
  12.         arg1.setAttribute("loginFormBean", this);
  13.         return errors;
  14.     }

2  上面的错误信息中 添加了两个资源引用的标签 我们在ApplicationResourcestemp.properties中添加如下的两个标签

 

  1. # loginForm
  2. login.error.username=用户名不能为空
  3. login.error.password=密码不能为空

并使用命令native2ascii转换更新到ApplicationResources_zh_CN.properties 同样的 也需要在ApplicationResources.properties中添加英文的标签

 

3  在JSP页面中输出这个两个错误信息提示 在用户名和密码的文本框后各添加一个标签

部分代码:

 

  1. <tr>
  2.         <td><bean:message key="login.page.username" /></td>
  3.         <td><logic:present name="loginFormBean">
  4.             <html:text property="username" name="loginFormBean" />
  5.             </logic:present>
  6.             <logic:notPresent name="loginFormBean">
  7.             <input type="text" name="username">
  8.             </logic:notPresent>
  9.             <html:errors property="username" />
  10.         </td>
  11. </tr>
    <tr>
  1.         <td><bean:message key="login.page.password" /></td>
  2.         <td><logic:present name="loginFormBean">
  3.             <html:password property="password" name="loginFormBean" />
  4.             </logic:present>
  5.             <logic:notPresent name="loginFormBean">
  6.             <input type="password" name="password">
  7.             </logic:notPresent>
  8.             <html:errors property="password" />
  9.         </td>
  10. </tr>

 

 

阅读(932) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~