我正在从jsp页面中显示的简单对象列表生成数据表。每行都附有一个View超级链接。当用户点击超级链接时,我需要将它们发送到另一个控制器(通过bean连接)以显示更详细的信息。我试图传递一个唯一的id,但在处理请求的控制器中,当我尝试通过request.getParameter(“uniqueId”)检索uniqueId时,它总是为空。
那么我应该如何处理Spring MVC中的requestParameter?
更新
我的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>
在我的servlet配置中,我有:
<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>
答案 0 :(得分:1)
有更多特定于Spring的方法来处理参数,例如使用@RequestParam注释,但是如果getParameter不工作,我不希望注释也能工作;听起来好像价值没有进入请求。
当用户点击链接时,您如何传递ID?它是一个查询字符串,还是您使用javascript发出POST请求?如果您从JSP中提供了一些示例代码,那将会有所帮助。
根据更多信息更新:好的,所以你正在使用查询字符串。单击该链接时,您是否可以在URL中看到正确的ID?
答案 1 :(得分:1)
我发现您的参数名为batchId
而不是uniqueId
。所以试试吧。如果它仍为空,请尝试request.gatParameterNames()
并列出所有内容以查看已提交的内容。另外,请确保您的表单enctype不是多部分。