获取struts s:url includeparams在部署为ROOT.war时使用jboss

时间:2009-02-09 16:36:22

标签: java java-ee jboss struts2 url-rewriting

我正在开发一个使用struts 2,spring,URL Rewrite Filter以及其他一些我不确定与此相关的依赖项的webapp。我们构建的url之一构造如下:

<s:url id="blah" includeParams="get">

这在部署在jboss中时工作正常,因为在deploy /中删除了正常的webapp。因此,所有网址的格式为http://localhost:8080/mywebapp/ ...并且在使用此标记时,所有获取参数都会按预期包含在内。

但是我们希望在根上下文中部署此代码(因此所有内容都在http://localhost:8080/..下)。因此我们将其部署为ROOT.war。突然,所有get参数都不再显示在URL中。我一直在寻找一段时间,似乎无法弄清楚可能导致这种情况的原因。首先我认为它与URL重写有关,但似乎工作正常。欢迎任何提示,指示和进一步澄清的问题。为了增加混乱,当在jetty中部署时(默认情况下根上下文),这一切都可以正常工作。

编辑:我也尝试删除ROOT.war并使用jboss-web.xml部署到根上下文,但这显示了完全相同的问题。

1 个答案:

答案 0 :(得分:1)

我跟踪这部分归结为url重写错误配置,get参数没有被添加到要重写的url,因为'include-query-string'在urlrewrite上没有设置为true。这意味着'blah?querystring'没有被重定向到'blah.action?querystring'。由于相互关联的问题,它现在似乎仍无法正常工作,但我会将这些问题与另一个问题分开。