struts2在二级域名下redirect的问题

问题描述: 在struts环境下,不能跳转到理想的url地址

比如登陆之后希望跳转到 http://w.xxx.com/system/home_enter.action

而实际上跳转到了  http://w.xxx.com/demo/system/home.action

找了很久问题的根源,最后发现原来是配置了redirect

<result name="success" type="redirect">/system/home_enter.action</result>

查了一下struts2 redirect源码,发现他默认会带上 request.getContextPatch();

想了很久,想从代码入手,最终无果。

最后只好选择了一种折中的办法。

去掉  type="redirect" 改成jsp页面

<result name="success" >/web/business/system/login/success.jsp</result>

然后在页面上通过javascript脚本进行人为的跳转。

    <script>
         function loadHome()
         {
             top.window.location="/system/home_enter.action";
         }
    </script>
</head>

<body class="login-layout light-login">
      <div>正在加载资源...请稍后...</div>
      <script>
        loadHome();
        </script>    
    </body>

这样最终解决了这个棘手的问题。

后面还发现一个类似的问题,但是有很多action用到了,不太好改,研究一下代码,实际上都是调用的模板类的enter方法,通过修改代码来指定调用enter方法来解决此问题。

 

 

转载于:https://my.oschina.net/u/2457585/blog/673947

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值