首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

SSH2 AJAX LoginDemo 项目增添验证体系

2012-11-04 
SSH2 AJAX LoginDemo 项目添加验证体系Struts2 框架的验证体系主要分为: action 中重写 validate() 进行 a

SSH2 AJAX LoginDemo 项目添加验证体系

Struts2 框架的验证体系主要分为:

action 中重写 validate() 进行 action类全局校验 action 中添加 validateXxx() 为 Xxx() 方法专门做的前置校验。(Strut2 利用反射自动映射) 使用Struts2 验证框架 进行校验


我们在 LoginDemo 中对这几种方法都会有举例:

?

Struts2 数据提交的步骤是:

校验框架validate()validateXxx()action()

?

index.jsp

?

style.css

package com.track2web.demo.action; import com.opensymphony.xwork2.ActionSupport;import com.track2web.demo.entity.User;import com.track2web.demo.service.IUserService; public class LoginAction extends ActionSupport {     //定义登录是否成功状态,验证错误信息国际化信息常量    public static final String LOGIN_STATUS_SUCCESS = "login.status.message.success";    public static final String LOGIN_STATUS_FAIL = "login.status.messsage.fail";    public static final String USERNAME_VALIDATE_LENGTH = "input.minlenth.username";    public static final String USERPASS_VALIDATE_LENGTH = "input.minlenth.userpass";     //user对象接受页面传值    private User user;    //loginMessage 回传登录是否成功的状态    private String loginMessage;    //IOC接口    private IUserService userService;     public User getUser() {        return user;    }     public void setUser(User user) {        this.user = user;    }     public String getLoginMessage() {        return loginMessage;    }     public void setLoginMessage(String loginMessage) {        this.loginMessage = loginMessage;    }     public IUserService getUserService() {        return userService;    }     public void setUserService(IUserService userService) {        this.userService = userService;    }     /**     * action 全局验证     */    @Override    public void validate() {        if (this.user.getUserName().length()<4) {            addFieldError("user.userName", getText(USERNAME_VALIDATE_LENGTH));        }    }     /**     * 通过反射(Reflection)调用 validateLoginAjax()方法(为 loginAjax 方法验证数据)     */    public void validateLoginAjax() {        if (this.user.getUserPass().length()<4) {            addFieldError("user.userPass", getText(USERPASS_VALIDATE_LENGTH));        }    }     /**     * Ajax 方式所调用的 Action 方法     * @return 返回调用成功信号     */    public String loginAjax() {        //将 登录信息保存至 user 属性,如果校验失败,user 属性值为 NULL        this.user = this.userService.login(user);        if (user==null) {            this.loginMessage = getText(LOGIN_STATUS_FAIL);        }        else {            this.loginMessage = getText(LOGIN_STATUS_SUCCESS);        }        return SUCCESS;    }}

热点排行