Announcement Announcement Module
No announcement yet.
Displaying ArrayList in a Spring Form Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Displaying ArrayList in a Spring Form

    I am using Spring 3.1.

    I am trying to display an ArrayList of objects in a Spring Form within a JSP. Eventually I need to have a checkbox for each object so that the user may select a row and then press a button for some back-end action. But I can't get the data to display using a Spring form. I keep receiving an exception:

    org.springframework.beans.NotReadablePropertyExcep tion: Invalid property 'datafeed[0]' of bean class [java.util.ArrayList]: Bean property 'datafeeds[0]' is not readable or has an invalid getter method: .... "

    Here is the scaled down code:

    <form:form method="post" commandName="datafeeds">
            <c:forEach items="${datafeeds}" var="datafeed" varStatus="vs">
                  <td><form:label path="datafeeds[${vs.index}].name/></td>
                  <td><form:label path="datafeeds[${vs.index}].state/></td>
    public class DataFeedController
       SomeService service;
       public String showDataFeed(Model m) {
          List<DataFeed> datafeeds = service.list();
          m.addAttribute("datafeeds", datafeeds);
          return "datafeed";
    Specifically I guess my question is how does commandName, the variables in the forEach loop and the data from the Controller all work together? Can anybody show me using the above code?

  • #2
    I suggest a read of the reference guide...

    1. Don't use forEach use form:select and...
    2. A label isn't to be used for displaying (I suggest a read on HTML elements).
    3. path is the property on your command object not the referenced list.
    4. datafeeds is your reference data NOT your formObject