Как перейти к пути контекста приложения без использования скриптов в файлах JSP?

Итак, у меня есть такой код в моем файле jsp:

<a href="<%= getServletConfig().getServletContext().getContextPath() %>/registerMe.jsp"
               class="btn">Not a member? Register..</a>

И я знаю, что использование сценариев — плохая практика в файлах JSP. Как мне тогда избежать такой ситуации?


person Koray Tugay    schedule 18.04.2014    source источник


Ответы (2)


Используйте выражение EL:

<a href="${pageContext.servletContext.contextPath}/registerMe.jsp"
           class="btn">Not a member? Register..</a>
person McDowell    schedule 18.04.2014

Вы можете использовать request.getContextPath() в своем классе действий, и вы можете передать это JSP в виде строки, используя запрос, или вы можете использовать bean-компонент, чтобы получить это в JSP.

Объекты области приложения хранятся как атрибуты ServletContext. Если «вызов функции» имеет доступ к ServletContext, то он может просто захватить их следующим образом:

Bean bean = (Bean) servletContext.getAttribute("beanname");

Я, конечно, ожидаю, что "функция" работает в контексте сервлета. т.е. он (не)непосредственно выполняется сервлетом обычным способом.

Вы также можете попробовать эту ссылку. У него есть пример с полным объяснением.

person user3145373 ツ    schedule 18.04.2014