getRealPath() в файле пользовательского тега jsp с использованием кода EL или скриптлета

Я пытаюсь получить доступ к пути сервлета из файла тега следующим образом;

<%@tag description="put the tag description here" pageEncoding="UTF-8"%>
<%=pageContext.getServletContext().getRealPath("/")%>

Однако он жалуется, что не может найти символ; string:///xxxxx:89: не удается найти символ: переменная pageContext местоположение: класс org.apache.jsp.tag.web.xxxx

любые предложения о том, как получить доступ к этому значению в файле тегов?


person Tom    schedule 08.11.2010    source источник


Ответы (2)


Поскольку выражение появляется в файле тегов, pageContext не является допустимым неявным объектом. Как вы заметили, допустимо application, так же как и jspContext (экземпляр javax.servlet.jsp.JspContext). Кстати, возможно, что getRealPath вернет null...

person kschneid    schedule 08.11.2010

о, похоже, что application.getRealPath("images") находится в контексте тега

person Tom    schedule 08.11.2010
comment
Нет, это в контексте scriptlet. Вы вызываете его не с помощью тега (например, (<c:something>) или EL (например, ${}), а используя старомодный скриптлет. - person BalusC; 08.11.2010