放入request域:
ServletActionContext.getRequest().setAttribute(“name”,”name”);
ActionContext.getContext().put(“name”,name);
放入session域:
ActionContext.getContext().getSession().put(“name”,name);
登录页面login.jsp
<font color="red">${requestScope.error}</font>
<form action="login" method="post">
<s:fielderror escape="false"></s:fielderror>
用户名:<input type="text" name="username"><br><br>
密 码:<input type="password" name="password"><br><br>
<input type="submit" value="登录">
</form>
LoginAction.java
package nuc.sw.action;
import com.opensymphony.xwork2.ActionContext;
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;
}
/**
* 判断用户名和密码是否正确
* @return
* @throws Exception
*/
public String execute() throws Exception{
if(username.equals("yangna")&&password.equals("123")){
//放入session
ActionContext.getContext().getSession().put("user",username);
return SUCCESS;
}else{
ActionContext.getContext().put("error", "用户名或密码错误!");
return ERROR;
}
}
/**
* 进行用户名和密码是否为空的校验
*/
public void validate(){
if(username==null||username.trim().equals("")){
this.addFieldError("usernameError", "<font color='red'>用户名不能为空</font>");
}
if(password==null||password.trim().equals("")){
this.addFieldError("passwordError", "<font color='red'>密码不能为空</font>");
}
}
}
struts.xml:
<package name="default" namespace="/" extends="struts-default">
<action name="login" class="nuc.sw.action.LoginAction" method="execute">
<result name="success">/hello.jsp</result>
<result name="error">/login.jsp</result>
<result name="input">/login.jsp</result>
</action>
</package>
hello.jsp:
<body>
欢迎${sessionScope.user};
</body>
在进行校验时使用ActionSupport提供的方法validate();