我的程序采用SHH2开发,在Action中的一个方法结束后跳转到另一个Action的方法,两个action方法的配置文件如下:
1: <action name="modifyOrderItem" class="orderAction" method="modifyOrderItem">
<interceptor-ref name="AdvancedStack"/>
<result type="redirectAction">
<param name="actionName">getOrderById</param>
</result>
<result name="input" type="redirect">/oper_error.jsp</result>
<result name="login">/index.jsp</result>
<result name="none">/deny.jsp</result>
</action>
2: <action name="getOrderById" class="orderAction" method="getOrderById">
<interceptor-ref name="CommonStack"/>
<result>/admin/orders/single_order.jsp</result>
<result name="login">/index.jsp</result>
<result name="none">/deny.jsp</result>
</action>
我在方法1中把一个变量oid放到了Session中,然后在重定向的action方法中,即方法2通过session.getAttribute方法来获取到这个oid的变量值。
我在本机测试的时候,甚至当我把应用部署在远端服务器上的时候,测试都是可以顺利通过的。但是当我用其他的电脑来测试的时候,无论是别的电脑访问我的电脑还是访问我部署到服务器上的应用,只要执行了方法1之后就无法执行方法2,我的确定义了自己的拦截器用来检测用户是否登录,但是我在用户登录的时候把用户的信息放到了session中。但是我在拦截器中打印session中用户的信息时候显示的是null。我也不知道session什么时候把用户的信息给清除的。请高手帮忙。
1: <action name="modifyOrderItem" class="orderAction" method="modifyOrderItem">
<interceptor-ref name="AdvancedStack"/>
<result type="redirectAction">
<param name="actionName">getOrderById</param>
</result>
<result name="input" type="redirect">/oper_error.jsp</result>
<result name="login">/index.jsp</result>
<result name="none">/deny.jsp</result>
</action>
2: <action name="getOrderById" class="orderAction" method="getOrderById">
<interceptor-ref name="CommonStack"/>
<result>/admin/orders/single_order.jsp</result>
<result name="login">/index.jsp</result>
<result name="none">/deny.jsp</result>
</action>
我在方法1中把一个变量oid放到了Session中,然后在重定向的action方法中,即方法2通过session.getAttribute方法来获取到这个oid的变量值。
我在本机测试的时候,甚至当我把应用部署在远端服务器上的时候,测试都是可以顺利通过的。但是当我用其他的电脑来测试的时候,无论是别的电脑访问我的电脑还是访问我部署到服务器上的应用,只要执行了方法1之后就无法执行方法2,我的确定义了自己的拦截器用来检测用户是否登录,但是我在用户登录的时候把用户的信息放到了session中。但是我在拦截器中打印session中用户的信息时候显示的是null。我也不知道session什么时候把用户的信息给清除的。请高手帮忙。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货