2010-03-03 5 views
0

Я создаю таблицу данных из простого списка объектов, которые я показываю на странице jsp. Каждая строка имеет прикрепленную к ней гиперссылку View. Когда пользователь нажимает на гиперссылку, мне нужно отправить их на другой контроллер (подключенный через компонент), чтобы отобразить более подробную информацию. Я пытаюсь передать уникальный идентификатор, но в контроллере, который обрабатывает запрос, когда я пытаюсь получить uniqueId через request.getParameter («uniqueId»), он всегда равен нулю.с использованием параметров http-запроса весной mvc

Итак, как мне обрабатывать requestParameter's Spring MVC?

Update:

Пример из моего JSP:

<c:forEach var="file" items="${confirmationFiles}"> 
     <tr> 
      <td>${file.batchId}</td> 
      <td>${file.runDate}</td> 
      <td>${file.customerId}</td> 
      <td>${file.userName}</td> 
      <td><a href="view-detail.do?batchId=${file.batchId}">View</a></td> 
     </tr> 
     </c:forEach> 

в моей конфигурации сервлета, у меня есть:

<bean name="/view-detail.do" 
    class="ViewDetailController"> 
</bean> 

<bean id="viewResolver" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="viewClass" 
     value="org.springframework.web.servlet.view.JstlView" /> 
    <property name="prefix" value="/jsp/" /> 
    <property name="suffix" value=".jsp" /> 
</bean> 

ответ

1

Есть еще пружинные конкретные способы работы с параметрами, например, используя аннотацию @RequestParam, но если getParameter не работает, я бы не ожидал, что аннотация будет работать; это похоже на то, что значение не входит в запрос.

Как вы передаете идентификатор, когда пользователь нажимает на ссылку? Это querystring, или вы используете javascript для запроса POST? Это поможет, если вы дадите нам пример кода из вашего JSP.

Обновлено на основе дополнительной информации: ОК, поэтому вы используете запрос. Когда вы нажимаете ссылку, вы можете увидеть правильный идентификатор в URL-адресе?

+0

Да, в настоящее время я не использую аннотации. Я уточню свой вопрос. – Casey

+0

Вы были правы, параметр запроса никогда не был установлен. – Casey

1

Мне кажется, что ваш параметр имеет имя batchId, а не uniqueId. Поэтому попробуйте это. Если он по-прежнему равен нулю, попробуйте request.gatParameterNames() и перечислите их все, чтобы увидеть, что было отправлено. Кроме того, убедитесь, что ваша форма enctype не является многочастной.

+0

Извините, это был туман с моей стороны, входящий в SO. – Casey

Смежные вопросы