У меня есть форму, которая должна печатать вопросы динамически. Foo
имеет объект Field
и объект Field Definition
. Я хочу, чтобы Field
имел свой fieldDefinition
, присвоенный формой. Все за кулисами отлично работает.Назначение объекта в форме
Приведенный ниже код работает с назначением строк и длинной строки в других сценариях.
Вот линия, которая вызывает тревогу:
<input th:type="hidden" th:field="*{fields[__${iterationStatus.index}__].fieldDefinition}" th:value="${fooViewModel.fields[__${iterationStatus.index}__].fieldDefinition}"/>
Это то, что он выглядит, когда он делает в HTML:
<input type="hidden" value="[email protected]" id="fields0.fieldDefinition" name="fields[0].fieldDefinition">
Когда я отправить форму, никаких действий контроллера не вызываются, и приложение просто перенаправляется на страницу с ошибкой.
Если невозможно выполнить задание таким образом, предложите другие методы. Единственный способ, которым я придумал, состоит в том, чтобы Foo
использовал FieldDefinitionService
для выполнения задания после передачи идентификатора. Я не имею этого класса домена, чтобы иметь доступ к другому объекту домена Service
.
Благодаря
типа входного = скрытый может содержать только значение String. [email protected] - значение вашего fieldDefinition, представленного как String (т. е. значение fieldDefinition.toString()). Я не понимаю, что вы хотите сделать, поэтому я не могу больше помочь вам, но я думаю, вы могли бы использовать что-то вроде th: field = "* {fields [__ $ {iterationStatus.index} __]. FieldDefinition.id } « –
Я предполагаю, что есть' th: each' где-то и тег 'form'. Можете ли вы разместить весь фрагмент, пожалуйста? –
Спасибо @PedroAffonso, вы можете порекомендовать модель JPA для этого? Я почти чувствую, что вам придется создать дополнительный метод обслуживания, чтобы выровнять 'fieldDefinintionId' с' полем' каждый раз, когда вы его вызываете. В этот момент имеет смысл копировать attrs из 'fieldDefinition' в' field' для каждого экземпляра. Как вы думаете? –