2015-05-08 6 views
1

Я пытаюсь перебирать список элементов с использованием th:each,не может ссылаться на переменную итерации в Thymeleaf

<div class="row" th:each="item : *{items}"> 
    <input type="text" th:field="item.name"/> 
</div> 

это работает, если доступ к переменной итерации с помощью th:text, но бросает

Java. lang.IllegalStateException: Ни BindingResult, ни простой целевой объект для bean name 'item', доступный как атрибут запроса

когда я использую th:field, чтобы получить к нему доступ, где я сделал неправильно?

+0

Пробовали ли вы с й: каждый = "пункта: $ {} товар"? –

ответ

0

Что-то подобное может работать:

<div class="row" th:each="item, stat : *{items}"> 
    <input type="text" th:field="*{items[__${stat.index}__].name}"/> 
</div> 

Заглянуть здесь для получения дополнительной информации: http://forum.thymeleaf.org/I-have-problem-in-binding-the-list-of-objects-contained-inside-a-object-on-the-form-using-thymeleaf-td3525038.html

+0

Я знаю, что это сработает, но это совершенно странно, поскольку у вас есть переменная итерации, но все равно нужно ссылаться на элемент с помощью индекса. – Sawyer