UrlRewriteFilter меняет контекстный путь моего веб-приложения - PullRequest
2 голосов
/ 11 апреля 2011

Я настроил свое веб-приложение (используя Java Struts) в контексте / myapp - поэтому URL-адрес моего веб-приложения начинается примерно так: http://test.mydomain.com/myapp/

Я использую UrlRewriteFilter для предоставления чистых URL-адресов из-занесколько моделей данных, которые мы поддерживаем.Например: допустим, у меня есть 2 разных типа данных, которые мне нужно показать моему пользователю - один, если список отелей, другой - список больниц, - в зависимости от типа пользователя, который входит в систему. Однако обе модели обслуживаются.общей страницей JSP с именем commonView.jsp.

Если пользователь интересуется отелями, URL-адрес должен выглядеть так: / myapp / commonView.do? type = hotels

Аналогично для больниц,URL-адрес будет ... / myapp / commonView.do? type = hospitals

Теперь я не хочу показывать пользователю это странно выглядящее имя, которое читается как "commonView.do".Следовательно, я использовал UrlRewriteFilter для предоставления чистых URL.См. Ниже.

<rule match-type="regex">
    <from>^/view/([A-Z,a-z,0-9]+)$</from>
    <to>/commonView.do?type=$1</to>
</rule>

Приведенное выше правило отображает http://test.mydomain.com/myapp/view/hotels в браузере, но внутренне перенаправляет запрос на commonView.do?type=hotels.Аналогично для больниц.

Теперь моя проблема в том, что после выполнения этого правила мой контекстный путь начинает выглядеть как / myapp / view, а не просто / myapp.И из-за этого все мои css, js, изображения и т. Д. Все пропали - потому что теперь мое веб-приложение начало искать их в / myapp / view вместо просто /myapp.

Как мне решить эту проблемупроблема?Как избежать изменения контекста и при этом использовать UrlRewriteFilter для предоставления чистых URL-адресов?

Ответы [ 2 ]

1 голос
/ 15 сентября 2012

просто добавьте это <BASE href="http://test.mydomain.com/myapp/"> в заголовок вашей страницы

0 голосов
/ 27 апреля 2011
<rule match-type="regex">
    <note>Serve these folders from the filesystem</note>
    <from>/(css|img|js|manifest)/(.*)</from>
    <to last="true">/$1/$2</to>
</rule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...