Получение Struts s: url includeparams для работы на jboss при развертывании как ROOT.war - PullRequest
1 голос
/ 09 февраля 2009

Я работаю над веб-приложением, которое использует Struts 2, Spring, URL Rewrite Filter и пару других зависимостей, которые, я не уверен, имеют отношение к этому. Один из построенных нами URL-адресов построен следующим образом:

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

Это прекрасно работает при развертывании в jboss, когда обычное веб-приложение было удалено из deploy /. Тогда все URL имеют вид http://localhost:8080/mywebapp/..., и при использовании этого тега все параметры get включаются, как и ожидалось.

Однако мы хотим развернуть этот код в корневом контексте (чтобы все заканчивалось в http://localhost:8080/...),, поэтому мы развернули его как ROOT.war. Внезапно все параметры get больше не отображаются в URL. I Я искал некоторое время и не могу понять, что может вызвать это. Сначала я подумал, что это связано с перезаписью URL, но, похоже, работает нормально. Любые советы, указатели, дополнительные вопросы для уточнения приветствуются Чтобы добавить к путанице, все это также прекрасно работает при развертывании в пристани (где корневой контекст используется по умолчанию).

edit: я также пытался удалить ROOT.war и использовать jboss-web.xml для развертывания в корневом контексте, хотя это та же проблема.

1 Ответ

1 голос
/ 10 февраля 2009

Я отследил это отчасти до того, что перезапись URL была неверно сконфигурирована, параметры get не были добавлены к перезаписываемым URL, потому что 'include-query-string' не было установлено в true на urlrewrite. это означало, что «blah? querystring» не перенаправлялся на «blah.action? querystring». Похоже, что сейчас он не работает из-за взаимосвязанных проблем, но я выделю их для другого вопроса.

...