Как мне добавить <%= запросить.getContextPath() %> ко всем относительным URL-адресам внутри страницы jsp?

StackOverflow https://stackoverflow.com/questions/157905

  •  03-07-2019
  •  | 
  •  

Вопрос

Тема говорит почти обо всем.Как мне автоматически исправить страницы 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" />
Это было полезно?

Решение

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top