LoginAction 类
package com;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String name;
private String pwd;
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String execute() {
if ("admin".equals(name) && "123".equals(pwd)) {
return SUCCESS;
} else {
return "fail";
}
}
//ActionSupport的验证方法
public void validateExecute() {
if ("admin".equals(name) && "123".equals(pwd)) {
Map<String, Object> session = ActionContext.getContext()
.getSession();
if (session.containsKey("user")) {
session.remove("user");
}
session.put("user", name);
super.addActionMessage("success");
// 对应struts.xml的<result name="success">
} else {
// 验证出错,指定错误提示信息
super.addActionError("error");
// 对应struts.xml的<result name="input">
}
}
}
xml文件
<struts>
<constant name="struts.ui.theme" value="simple" />
<package name="default" extends="struts-default" namespace="/">
<action name="login" class="com.LoginAction">
<!-- 指定用户输入通过验证时的返回页面 -->
<result name="success">/index.jsp</result>
<!-- 指定用户输入不能通过验证时的返回页面 -->
<result name="input">/index.jsp</result>
</action>
</package>
</struts>
index.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<body>
<s:actionerror />
<s:actionmessage />
</body>
</html>
上述代码不完全