Преобразование из String в пользовательский объект для формы Spring MVC Привязка данных?

Я использую 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), который служит моим объектом поддержки формы.

Моя цель здесь - изменить ссылку на сервер 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 не содержит подробностей. Может кто-нибудь помочь мне здесь?

Ответы на вопрос(5)

Ваш ответ на вопрос