Action部分,BaseAction未给出,JdbcUtils未给出
package erchou;
import java.util.List;
import org.apache.struts2.ServletActionContext;
public class HelloAction extends BaseAction{
private Admin admin;
public Admin getAdmin() {
return admin;
}
public void setAdmin(Admin admin) {
this.admin = admin;
}
public String login(){
Admin ad = null;
try {
ad = JdbcUtils.isAdmin(admin);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(ad!=null){
session.put("info", admin);
return "success";
}
return "wrong";
}
public String showList() {
try {
List list = JdbcUtils.getAdmin();
requset.put("admins", list);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "showList";
}
}
拦截器部分
package erchou;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionProxy;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class UserInterceptor extends AbstractInterceptor{
public String intercept(ActionInvocation invocation) throws Exception {
ActionProxy proxy = invocation.getProxy();
String methodName = proxy.getMethod();
ActionContext ac = invocation.getInvocationContext();
if(!"login".equals(methodName)){
Object object = ac.getSession().get("info");
if(object==null){
return "wrong";
}else{
return invocation.invoke();
}
}
return invocation.invoke();
}
}
主要配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="xxxx" extends="struts-default">
<interceptors>
<interceptor name="loginCheck" class="erchou.UserInterceptor"></interceptor>
<interceptor-stack name="myStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="loginCheck"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack"></default-interceptor-ref>
<action name="login" class="erchou.HelloAction" method="login">
<result name="wrong">/index.jsp </result>
<result name="success" type="redirectAction">list</result>
<result name = "showList">/showList.jsp</result>
</action>
<action name="list" class="erchou.HelloAction" method="showList">
<result name = "showList">/showList.jsp</result>
<result name="wrong">/index.jsp </result>
</action>
</package>
</struts>