Путать с пружинной привязкой страницы MVC JSP - PullRequest
0 голосов
/ 06 марта 2011

Мне не удалось решить мою проблему с привязкой.

У меня есть один класс Person

Class Person {

Private fname;
private lname;
public Address address;

Теперь еще один класс

class Address {

    private street;
    private suburb;
}

в контроллере i.У меня есть

model.addAttribute("personAttribute", new Person());

На странице JSP у меня есть

<form:form modelAttribute="personAttribute" method="POST" action="${saveUrl}">
<td><form:input path="firstName"/></td>

До этого все в порядке, но когда я добавляю

<td><form:input path="street"/></td>

Тогда становится проблемойя не знаю, как я могу добавить объект Адрес с человеком.

я имею в виду, я должен сделать

    model.addAttribute("personAttribute", new Person(new Address()));
    or

    model.addAttribute("addressAttribute", new Address());
or

td><form:input path="person.address.street"/></td>

Ответы [ 2 ]

1 голос
/ 06 марта 2011

Вы должны связать путь следующим образом:

<td><form:input path="address.street"/></td>

Это потому что вы находитесь в области действия Person объекта в привязке.

0 голосов
/ 06 марта 2011

Следующий код правильный:

model.addAttribute("personAttribute", new Person());

Это инициализирует Персона с пустыми атрибутами, включая пустой адрес.

Если вы хотите убедиться, что адрес не пустойВы должны передать экземпляр лица, который содержит значение.Например,

Person person = new Person();
person.setFirstName("John");
person.setLastName("Smith");

Address address = new Address();
address.setStreet("#10 Avenue");
address.setSuburb("Cook");

person.setAddress(address);

Обычно вам может потребоваться заполнить объект person значением, полученным из базы данных или источника данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...