2017-02-02 8 views
0

У меня есть форма тимелеафа, которую я хотел бы сделать динамическим, без использования JS. Форма должна заполнить объект класса ProjectNewDtoТимелеаф: Итерация элементов элементов объекта формы

public class ProjectNewDto { 

    private List<UsernameAndPps> usernamesAndPps; 

    ... 
} 

Поэтому проведение список UsernameAndPps элементов:

public class UsernameAndPps { 
    private String username; 
    private double pps; 

    ... 
} 

Контроллер помещает объект как атрибут модели и инициализировать список usernamesAndPps с один элемент:

@RequestMapping("/projectNewPageR") 
public String projectNewPage(Model model) { 
    if(!model.containsAttribute("project")) { 
     ProjectNewDto project = new ProjectNewDto(); 
     project.setUsernamesAndPps(new ArrayList<UsernameAndPps>()); 
     project.getUsernamesAndPps().add(new UsernameAndPps("user",100.0)); 

     model.addAttribute("project",project); 
    } 
    return "views/projectNewPage"; 
} 

И тогда я пытаюсь показать его с thymeleaf, как

<form id="new_project_form" action="#" th:action="@{/views/projectNewSubmit}" th:object="${project}" method="post"> 
    <div th:each="usernameAndPps : $(project.usernamesAndPps)"> 
     <input type="text" th:value="${usernameAndPps.username}"></input> 
     <input type="number" th:value="${usernameAndPps.pps}"></input> 
    </div> 
    <button type="submit" class="btn btn-lg btn-primary btn-block">Create</button> 
</form> 

Я также попытался с $(usernamesAndPps) вместо $(project.usernamesAndPps), но ошибка остается той же:

Could not parse as each: "usernameAndPps : $(project.usernamesAndPps)" 

Я снял много других связанных SYTLE Suff, но до сих пор ошибка какого-то , Есть идеи?

Следующим шагом будет добавление еще одной кнопки для добавления элементов в свойство usernamesAndPps. Давайте будем здесь позитивно.

ответ

0

Хорошо, я отвечаю на него, но я должен удалить его.

Скобы вместо круглых скобок

<div th:each="usernameAndPps : ${project.usernamesAndPps}"> 
Смежные вопросы