Как я могу создать абсолютный URL в JSP? - PullRequest
7 голосов
/ 28 июня 2010

Если в jsp есть <c:url value="/article"/>, я на самом деле хочу, чтобы он выдал http://mysite.com/context/articleЕсть ли простой способ добиться этого?

1 Ответ

12 голосов
/ 28 июня 2010

Простого пути нет.Либо жестко закодируйте его, либо выведите следующее:

${fn:replace(pageContext.request.requestURL, pageContext.request.requestURI, '')}${pageContext.request.contextPath}

Обременительно, но нет более короткого и приятного способа, если вы хотите правильно учитывать части протокола и порт URL-адреса.Вы можете назначить ${pageContext.request} на ${r}.

<c:set var="r" value="${pageContext.request}" />

, чтобы вы могли получить это

${fn:replace(r.requestURL, r.requestURI, '')}${r.contextPath}

Тем не менее, я не вижу тольконасколько это требование полезно / ценно.Я всегда кодирую ссылки, специфичные для своего веб-приложения, в соответствии с текущим контекстом или тегом HTML <base>.В противном случае вам придется много обслуживания, когда ваш домен, порт и / или даже контекст меняется.Почему это требование?

См. Также:

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