在spring mvc中使用http请求参数

时间:2010-03-03 19:40:14

标签: java spring java-ee spring-mvc

我正在从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>

2 个答案:

答案 0 :(得分:1)

有更多特定于Spring的方法来处理参数,例如使用@RequestParam注释,但是如果getParameter不工作,我不希望注释也能工作;听起来好像价值没有进入请求。

当用户点击链接时,您如何传递ID?它是一个查询字符串,还是您使用javascript发出POST请求?如果您从JSP中提供了一些示例代码,那将会有所帮助。

根据更多信息更新:好的,所以你正在使用查询字符串。单击该链接时,您是否可以在URL中看到正确的ID?

答案 1 :(得分:1)

我发现您的参数名为batchId而不是uniqueId。所以试试吧。如果它仍为空,请尝试request.gatParameterNames()并列出所有内容以查看已提交的内容。另外,请确保您的表单enctype不是多部分。