Как определить атрибут src из контекста веб-приложения в JSP

Я хотел использовать абсолютный путь в атрибуте src, включив файлы Javascript и CSS в JSP.

Использование относительных URL-адресов не будет служить моей цели, как показано ниже:

<script type="text/javascript" src="../js/jquery-1.6.4.min.js"></script>

Если я использую абсолютный URL-адрес, например,

<script type="text/javascript" src="/appName/js/jquery-1.6.4.min.js"></script>

Затем я жестко кодирую имя веб-приложения, которое снова не подходит...

Лучший вариант, который я нашел, это:

<base href="${pageContext.request.contextPath}"  />

Но это работает только с атрибутами href, такими как <a href="home.jsp" />


person Rohit Bansal    schedule 04.07.2012    source источник


Ответы (1)


Вы получили свое решение:

<script src="${pageContext.request.contextPath}/js/jquery.js"></script>
<a href="${pageContext.request.contextPath}/home.jsp">Home</a>

или, используя JSTL:

<script src="<c:url value="/js/jquery.js"/>"></script>
<a href="<c:url value="/home.jsp"/>">Home</a>

Тег JSTL имеет дополнительное преимущество, заключающееся в том, что он также добавляет идентификатор сеанса к URL-адресу, если файлы cookie отключены, чтобы отслеживать сеанс с помощью перезаписи URL-адреса.

person JB Nizet    schedule 04.07.2012
comment
Да, я смог работать с первым решением, но определенно предпочел бы второе решение с использованием JSTL, которое вы дали. Я искал только что-то подобное. Спасибо. - person Rohit Bansal; 04.07.2012