1

我正在开发一个使用 struts 2、spring、URL Rewrite Filter和其他一些我不确定是否与此相关的依赖项的 webapp。我们构造的其中一个 url 构造如下:

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

当在 jboss 中部署为部署 /. 那么所有 url 的格式都是http://localhost:8080/mywebapp/ ... 并且当使用这个标签时,所有的 get 参数都会按预期包含在内。

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

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

4

1 回答 1

1

我将此部分归结为 url 重写配置错误,get 参数没有被添加到要重写的 url 中,因为 urlrewrite 上的“include-query-string”未设置为 true。这意味着 'blah?querystring' 没有被重定向到 'blah.action?querystring'。由于相互关联的问题,它现在似乎仍然不起作用,但我会将它们分开到另一个问题。

于 2009-02-10T14:08:01.923 回答