用struts2 验证用户登录demo

用struts2 验证用户登录demo
--------》login.jsp 引入 标签 <%@taglib uri="/struts-tags" prefix="s"%>
  <body>
<s:form action="login">
<s:textfield name="userName" label="用户名称"/><br>
<s:password name="passWord" label="用户密码"/><br>
<s:submit value="登录" align="center"/>
</s:form>
</body>


-------》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";
}


@Override
public 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方法,直接转发(Dispatcher)到INPUT即“input”所指定的错误处理页面, 这里为location="login.jsp",即让它返回到表单登录页去. 如果刚才validate方法中验证正确,即Field栈中没有错误信息,就会执行execute方法。在这里execute返回SUCCESS。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值