读书人

用struts2 应验用户登录demo

发布时间: 2012-11-07 09:56:10 作者: rapoo

用struts2 验证用户登录demo
用struts2 验证用户登录demo
--------》login.jsp 引入 标签 <%@taglib uri="/struts-tags" prefix="s"%>



-------》LoginAction
package com.xj.actions;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport {private String userName;private String passWord;public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) {this.passWord = passWord;}public String execute() throws Exception {boolean userNameOK = false;boolean passWordOK = false;if (getUserName().trim().equals("jim")){userNameOK = true;}else{userNameOK = false;addFieldError("userName", "您输入的用户名称不正确");}if (getPassWord().trim().equals("123")){passWordOK = true;}else{passWordOK = false;addFieldError("passWord", "您输入的用户密码不正确");}if(passWordOK && userNameOK){return "success";}return "input";}@Overridepublic void validate() {if (getUserName() == null || getUserName().trim().equals("")) {addFieldError("userName", "请输入用户名称");} if (getPassWord() == null || getPassWord().trim().equals("")) {addFieldError("passWord", "请输入用户密码");} }}


执行过程是这样:
表单提交给LoginAction,LoginAction先执行validate方法,检验loginName和password是否符合要求,
如果不符合,就会addFieldError (把错误信息放到Field栈里),如果Field栈里有错误信息的话,它就不会再执行execute方法,直接转发—ispatcher)到INPUT即“input”所指定的错误处理页面, 这里为location="login.jsp",即让它返回到表单登录页去. 如果刚才validate方法中验证正确,即Field栈中没有错误信息,就会执行execute方法。在这里execute返回SUCCESS。

读书人网 >Web前端

热点推荐