Страница JSP, не читающая, отправлена ​​для значений - PullRequest
2 голосов
/ 21 января 2010

Я работаю над внешним интерфейсом приложения на основе jsp. Мы используем пружину на weblogic.

У меня есть страница с формой, которая отправляется сама себе, и я пытаюсь получить доступ к значениям скрытых полей, которые я установил с помощью JavaScript

 <form method="post">

  <input type="hidden" name="choosenDateFrom" value="test1" />
  <input type="hidden" name="choosenDateTo" value="test2"  />
.... more code

Однако, когда я использую код на той же странице:

 <c:choose>
  <c:when test="${param.choosenDateFrom!=null}">
   <c:out value="${param.choosenDateFrom}" />
 </c:when>
   </c:choose>

Параметры не отображаются на странице. Что мне не хватает? Я думаю, что это стандартный способ сделать это.

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

Ответы [ 3 ]

2 голосов
/ 21 января 2010

У вас установлен JSTL в веб-приложении и объявлен в JSP?

Проверьте сгенерированный вывод HTML (откройте страницу в браузере, выберите Просмотр источника ). Он должен содержать без следов любого кода JSTL. Если это так, то вам, скорее всего, сначала нужно просто установить JSTL. Просто поместите jstl-1.2.jar в /WEB-INF/lib веб-приложения и объявите taglib в верхней части JSP в соответствии с ядром TLD :

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

Если это по-прежнему не решает проблему, то, очевидно, имеется в виду совершенно новый запрос (т. Е. Произошло перенаправление ), или вы использовали неправильные имена параметров. Используйте <c:out value="${pageContext.request.parameterMap}" />, чтобы увидеть все имена.

Согласно вашему сомнению:

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

Это чисто зависит от того, какой вы используете. Не говоря уже о том, что это не помогает нам давать лучшие ответы. Но в целом ${param} следует оставить нетронутым.

0 голосов
/ 21 января 2010

Вы можете использовать плагин Firefox с именем Tamper Data, чтобы проверить, правильно ли публикуются ваши параметры.Убедитесь, что вы не выполняете перенаправление после публикации, поскольку потеряете все свои параметры, поскольку браузер запросит новый запрос.

0 голосов
/ 21 января 2010

Вы включили ядро ​​lib в свой jsp? В большинстве случаев случается так, что jsp просто игнорирует ваш синтаксис.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...