2013-09-20 3 views
0

Предположим, у меня есть два класса, как показано нижеSpring MVC 3 Связывание сложных объектов к контроллеру

Class Student{ 
    private int id; 
    private String name; 
    private String address; 
} 

Class University{ 
    private String id;  
    private String name; 
    private String address; 
    private ArrayList<Student> students; 
    //Getters and Setter methods 
} 

Теперь, как я могу связать университет боб с образованием таким образом, что я могу захватить данные списка студентов в контроллере ? Что-то вроде этого

<form:form action ="controller.htm"> 
//... input tags binded with university id, name and address 

<form:input path = "students[0].id"> 
<form:input path = "students[0].name"> 
<form:input path = "students[0].address"> 


<form:input path = "students[1].id"> 
<form:input path = "students[1].name"> 
<form:input path = "students[1].address"> 

//... and so on 
</form:form> 
+0

Вот как вы это делаете. Вы используете формат индексного индекса, за которым следует стандартная точечная нотация. Это также работает с Картами, вы просто используете ключ вместо номера. То, что генерирует тег формы Spring JSTL, - это вход с именем, таким же, как и путь, но id тот же минус '[' и ']'. Единственное, что вы не можете сделать, по крайней мере, нелегко, - это иметь вложенные коллекции. – CodeChimp

+0

Итак, мой вопрос - это сам ответ? : o –

+0

Как можно перебирать студенческую коллекцию? –

ответ

-1

Пример для итерации коллекции студентов.

<tr> 
     <td>Favourite Web Frameworks :</td> 
     <td><c:forEach items="${studentCollection}" var="student"> 
       [<c:out value="${student.id}" />] 
      </c:forEach> 
     </td> 
    </tr> 

См этот Example.

+0

Вместо того, чтобы просто печатать их, мне нужно, чтобы они были привязаны к другой фасоль. Как я могу это сделать ?? –

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