Как добавить <% = request.getContextPath ()%> ко всем относительным URL на странице jsp? - PullRequest
2 голосов
/ 01 октября 2008

Субъект говорит почти все. Как автоматически исправить страницы JSP, чтобы относительные URL-адреса сопоставлялись с контекстным путем, а не с корнем сервера? То есть, например,

<link rel="stylesheet" type="text/css" href="/css/style.css" />

как настроить все так, чтобы css отображал my-server/my-context/css/style.css вместо my-server/css/style.css? Существует ли автоматический способ сделать это, кроме изменения всех строк, как указано выше, на

<link rel="stylesheet" type="text/css" 
      href="<%= request.getContextPath() %>/css/style.css" />

Ответы [ 2 ]

8 голосов
/ 01 октября 2008

Посмотрите на тег <BASE HREF="">. Это HTML-тег, который будет означать, что все ссылки на странице должны начинаться с вашего базового URL.

Например, если вы указали <BASE HREF="http://www.example.com/prefix">, а затем имели <a href="/link/1.html">, тогда ссылка на самом деле приведет вас к /prefix/link/1.html. Это также должно работать с тегами <LINK> (таблица стилей).

0 голосов
/ 19 мая 2011

Лучший способ - использовать HttpServletResponse.encodeURL (), который создаст соответствующий URL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...