user147373
user147373

Reputation:

using http request parameters in spring mvc

I am generating a table of data from a simple list of objects that I am displaying in a jsp page. Each row has a View hyper link attached to it. When the user clicks on the hyper link I need to send them to another controller (hooked up via a bean) to display more detailed information. I am trying to pass a unique id but in the controller that handles the request, when I try to retrieve the uniqueId via request.getParameter("uniqueId") it is always null.

So how should I handle requestParameter's in Spring MVC?

Update:

An example from my 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>

in my servlet configuration, I have:

<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>

Upvotes: 0

Views: 2396

Answers (2)

Jacob Mattison
Jacob Mattison

Reputation: 51062

There are more Spring-specific ways to work with parameters, such as using the @RequestParam annotation, but if getParameter isn't working I wouldn't expect the annotation to work either; it sounds like the value isn't making it into the request.

How are you passing the ID when the user clicks the link? Is it a querystring, or are you using javascript to make a POST request? It would help if you gave us some sample code from your JSP.

Updated based on more info: OK, so you're using a querystring. When you click the link, can you see the correct ID in the URL?

Upvotes: 0

Bozho
Bozho

Reputation: 597342

It occurs to me that your param is named batchId rather than uniqueId. So try that instead. If it is still null, try request.gatParameterNames() and list them all to see what has been submitted. Also, make sure your form enctype is not multipart.

Upvotes: 1

Related Questions