Невозможно получить доступ к объекту имплик изнутри метода в файле пользовательских тегов JSP
Я пытаюсь создать собственный тег JSP. Все работает нормально, за исключением того, что мой запрос выходит за рамки моей пользовательской функции.
Вот соответствующий бит из файла.tag:
<%!
private String process(String age, BigDecimal amount)
{
//Attempting to access request here results in an compile time error trying to:
String url=request.getURL;
}
%>
Я очень новичок в JSP, так что я уверен, что упускаю что-то очевидное... но я не могу понять, что. Любая помощь приветствуется.
1 ответ
Я подозреваю, что это связано с тем, что сама пользовательская функция не определяется в основном выполнении служебного вызова JSP, а определяется как отдельный метод в сгенерированном классе JSP. Таким образом, request
переменная не видна, неявно.
Чтобы уточнить, если вы взглянули на исходный код Java, который генерирует JSP-компилятор (который зависит от сервера приложений), вы увидите, как он зависает вместе.
Я думаю, вам придется объявить объект запроса в качестве параметра для вашей функции и передать его при вызове.
<%!
private String process(String age, BigDecimal amount, ServletRequest request) {
String url=request.getURL;
....
}
%>