Отправить атрибут модели с вложенными объектами в Spring MVC - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть форма Spring mvc, которая имеет атрибут модели.Эта модель имеет вложенный объект, который называется Address.Когда я отправляю форму, все не вложенные поля заполняются в модели нормально, но я получаю ошибку несоответствия типов для адреса.

Вот ошибка:

java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'com.sample.types.Address' for property 'address': no matching editors or conversion strategy found

Контроллер, который заполняет представление формой, помещает объект персоны в MV, вот форма в JSP:

<form:form id="formId"
           method="POST"
           action="/submit"
           modelAttribute="person">

    <form:hidden path="name"/>
    <form:hidden path="age" />
    <form:hidden path="address"/>

</form:form>

Я вижу на странице с формой, что тег from конвертируется в следующее:

<input id="address" name="address" type="hidden" value="Address(line1=123 fake street, line2=null, line3=null, city=null, state=null, country=null, postalCode=null, addressId=123456)"/>

Из ошибки я получаю подсказку, что мне, вероятно, нужно определить что-то, что говорит Springкак преобразовать эту строку в объект Address.Это правильно или что-то еще не так?Где я могу найти документацию о том, как это сделать?

РЕДАКТИРОВАТЬ похоже, что я ищу форматировщики Spring: https://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/spring-define-formatter.html, однако, кажется, что есть несколько способов сделать это.Конвертер vs Форматтер vs PropertyEditor.Кто-нибудь знает, что подходит для этого?

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