问题描述
- ssh的struts2拦截器拦截请求后页面为什么没有跳转
- 我在struts.xml里把拦截器添加到了新的拦截器栈,命名了一个package名,然后我在一个子的struts-action-index.xml里继承了这个package做登录验证,并且程序执行时已经进入了拦截器类,并且执行完了类里的代码,返回了Action.Login,为什么通过全局返回处理页面没有跳转到登录页面
<package name=""struts-default-json"" extends=""struts-default""> <!-- 返回json类型数据 --> <result-types> <result-type name=""json"" class=""org.apache.struts2.json.JSONResult"" /> </result-types> <!-- 自动把页面传来的json解析成action中的对象 --> <interceptors> <interceptor name=""json"" class=""org.apache.struts2.json.JSONInterceptor"" /> <interceptor name=""checkLogin"" class=""com.gtjc.interceptor.CheckInterceptor""/> <interceptor-stack name=""myDefaultStack""> <interceptor-ref name=""checkLogin""/> <interceptor-ref name=""json"" /> <interceptor-ref name=""defaultStack"" /> </interceptor-stack> </interceptors> <default-interceptor-ref name=""myDefaultStack"" /> <!-- 定义全局返回处理 --> <global-results> <result name=""login"" >/gtjc/login/jump.jsp</result> </global-results> </package>
public String intercept(ActionInvocation in) throws Exception { System.out.println(""进入拦截器""); User user=(User)ServletActionContext.getRequest().getSession().getAttribute(""user""); if(user==null ){ return Action.LOGIN; }else{ return in.invoke(); } }
解决方案
LoginAction有没有写对,参考
http://blog.csdn.net/java_cxrs/article/details/5514340
时间: 2024-10-30 00:54:01