не может получить параметр запроса с основным taglib, работает с request.getparameter? - PullRequest
1 голос
/ 31 октября 2011

РЕДАКТИРОВАТЬ: наконец-то нашел.По какой-то причине он не работает в Jetty, но работал в Tomcat, когда я создавал и запускал там.Хотя понятия не имею, почему ...

О, чувак, я сошел с ума прошлой ночью, пытаясь разобраться в этом ...

Простая предпосылка:

с использованием диспетчера запросов Spring и контроллеракласс, простая страница JSP, как представление.

в моем контроллере:

request.setAttribute("banana", "myValue");

, если использовать регулярный код JSP:

<%=request.getAttribute("banana")%>

она печатается как ожидалось

но я не могу заставить его работать, используя c-taglib.Я перепробовал все:

<c:out value="${param.banana}"/> <c:out value="${requestScope.banana}"/> and like 4 more.

Ничего не работает ... он просто печатает значение как есть, т.е. $ {param.banana} в виде текста.

Я оглянулся, но не смогне могу найти решения, я должен быть идиотом.Пожалуйста, помогите мне.

EDIT забыл уточнить: я включил соответствующий jspheader

<%@ taglib prefix='c' uri='http://java.sun.com/jstl/core_rt' %>

также пробовал

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

Ответы [ 2 ]

2 голосов
/ 31 октября 2011

Возможно, вы просто забыли объявить об использовании основной библиотеки тегов в начале JSP:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

И соответствующий путь:

<c:out value="${requestScope.banana}"/>

или просто

<c:out value="${banana}"/>

, если у вас нет атрибута области страницы с тем же именем.

1 голос
/ 16 ноября 2011

Для других ссылок:

Это проблема с сервером Jetty, на котором я работал. При развертывании на Tomcat все работало как положено.

Я не совсем уверен, что это было, я запустил его как есть из Intellj, но думаю, что это как-то связано с тем, какие библиотеки были развернуты с Jetty при запуске.

...