Я использую SimpleFormController в Spring MVC в сочетании с JTL формы Spring MVC для создания формы для редактирования универсального объекта.
В моей форме есть раскрывающийся список, в котором пользователь может указать сервер с помощью раскрывающегося списка.
<form:form commandName="generic">
<form:select path="server">
<form:options items="${servers}" itemValue="id" itemLabel="name"/>
</form:select>
</form:form>
Серверы здесь распространяются путем вызова базы данных для всех доступных серверов. сервер - это сервер ORM pojo, который является подобъектом другого ORM pojo (универсального), который служит моим объектом поддержки формы.
Моя цель - изменить ссылку на сервер Generic, которая представлена на уровне базы данных как внешний ключ к таблице сервера.
Я использую JPA в качестве своего уровня персистентности, а JPA сгенерировал классы сущностей в качестве моих ORM pojos.
К сожалению, при отправке моей формы это не выглядит должным образом, так как не может быть переведено из строки в сервер.
Field error in object 'generic' on field 'server': rejected value [1]; codes [typeMismatch.generic.server,typeMismatch.server,typeMismatch.com.generic.orm.jpa.Server,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [generic.server,server]; arguments []; default message [server]]; default message [Failed to convert property value of type [java.lang.String] to required type [com.generic.orm.jpa.Server] for property 'server'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [java.lang.String] to required type [com.generic.orm.jpa.Server] for property 'server': no matching editors or conversion strategy found], generic=com.generic.orm.jpa.generic[id=3]} and static attributes {}
Я искал пример того, как сделать это без удачи. Я считаю, что мне нужно что-то переписать в SimpleFormController, как я делал в этом вопросе , но документация Spring MVC не содержит подробностей. Может ли кто-нибудь помочь мне здесь?