51,409
社区成员
发帖
与我相关
我的任务
分享<struts>
<package name="worker" extends="json-default">
<!-- <interceptors> -->
<!--定义权限检查拦截器 -->
<!-- <interceptor name="userInterceptor" class="yuan.interceptor.UserInterceptor"> -->
<!-- </interceptor> -->
<!-- 定义拦截器栈 -->
<!-- <interceptor-stack name="myDefaultStack"> -->
<!-- 定义拦截器中拦截的方法 -->
<!-- <interceptor-ref name="userInterceptor"> -->
<!-- <param name="includeMethod">login</param> -->
<!-- </interceptor-ref> -->
<!-- <interceptor-ref name="defaultStack"/> -->
<!-- </interceptor-stack> -->
<!-- </interceptors> -->
<!-- <default-interceptor-ref name="myDefaultStack"></default-interceptor-ref> -->
<!-- <global-results> -->
<!-- <result name="login">/user/login.jsp</result> -->
<!-- </global-results> -->
<action name="workerAction" class="yuan.action.WorkerAction">
<!-- <interceptor-ref name="myDefaultStack"></interceptor-ref> -->
<result name="list" type ="redirectAction">workerAction!findAll</result>
<result name="success" >workerList.jsp</result>
<result name="update" >workerUpdate.jsp</result>
<result name="error">error.jsp</result>
</action>
<action name="userAction" class="yuan.action.UserAction">
<!-- <interceptor-ref name="myDefaultStack"></interceptor-ref> -->
<result name="login_ok" type="redirectAction">workerAction!findAll</result>
<result name="register_ok">../user/login.jsp</result>
<result name="check" type="json">
<param name="root">ok</param>
</result>
<result name="error">../user/login.jsp</result>
</action>
</package>
</struts>public class UserInterceptor extends AbstractInterceptor{
@Override
public String intercept(ActionInvocation invocation) throws Exception {
//用拦截器的方法取得Session
Map map = invocation.getInvocationContext().getSession();
//判断session中是否存在用户登录的信息,如果没有就返回到登录页面
if(map.get("user") == null){
return "login";
}else{
return invocation.invoke();
}
}
}帮我看一下那里设置的不对,需要怎么改进。谢谢。用这个拦截之后 其它JS 验证什么的都不好使了 登录程序也登录不上去 没进拦截器还是取不到值?
[quote=引用 2 楼 hhwyyda 的回复:]这里的 param 什么作用?<!-- <interceptor-stack name="myDefaultStack"> --> <!-- 定义拦截器中拦截的方法 --> <!-- <interceptor-ref name="userInterceptor"> --> <!-- <param name="includeMethod">login</param> --> <!-- </interceptor-ref> --> <!-- <interceptor-ref name="defaultStack"/> --> <!-- </interceptor-stack> -->
这里的 param 什么作用?<!-- <interceptor-stack name="myDefaultStack"> --> <!-- 定义拦截器中拦截的方法 --> <!-- <interceptor-ref name="userInterceptor"> --> <!-- <param name="includeMethod">login</param> --> <!-- </interceptor-ref> --> <!-- <interceptor-ref name="defaultStack"/> --> <!-- </interceptor-stack> -->
加了 登陆的时候有把用户加到同一个session里面么?
没进拦截器还是取不到值?
登陆的时候有把用户加到同一个session里面么?
登陆的时候有把用户加到同一个session里面么?
<!-- <interceptor-stack name="myDefaultStack"> --> <!-- 定义拦截器中拦截的方法 --> <!-- <interceptor-ref name="userInterceptor"> --> <!-- <param name="includeMethod">login</param> --> <!-- </interceptor-ref> --> <!-- <interceptor-ref name="defaultStack"/> --> <!-- </interceptor-stack> -->
这里的 param 什么作用?
然后呢...