значение по умолчанию в списке thymeleaf

219
13 ноября 2017, 18:44

есть столбец таблицы который выводит список возможных статусов проекта

<form th:action="@{'/tasks/' + ${project.id} + '/edit'}" method="POST">
    <input id="taskStatus" name="task" type="hidden" th:value="${t.id}"/>
    <select name="TaskStatus" th:field="${taskStatusName}">
        <option th:each="s : ${findAllStatus}"  th:value="*{s}" th:text="${s.status}" th:name="TaskStatus"></option>
    </select>
    <button type="submit" class="add">Add project</button>
</form>

но пытаюсь заставить выводить значение по умолчанию - текущий статус задачи выполняя проверку типа

 <select name="TaskStatus" th:field="*{t.status.id}">

но выходит ошибка

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 't' available as request attribute

как я понял он не может найти объект задачи? но всю таблицу я уже пропустил через for each. помогите пожалуйста разобраться

ИЗМЕНЕНИЯ добавил в метод GET жестко определенный статус для теста

@RequestMapping(value = "/tasks/{project}", method = RequestMethod.GET)
@ResponseBody
public ModelAndView index(@PathVariable ("project")Project project) {
    ModelAndView modelAndView = new ModelAndView();
    List<Task> findAll = taskService.findAll(project);
    List<TaskStatus> findAllStatus = taskStatusService.findAll();
    TaskStatus taskStatusName = taskStatusRepository.findByStatus("In work");
    modelAndView.addObject("taskStatusName", taskStatusName);
    modelAndView.addObject("findAllTasks", findAll);
    modelAndView.addObject("findAllStatus", findAllStatus);
    final String currentUser = SecurityContextHolder.getContext().getAuthentication().getName();
    modelAndView.addObject("user", userService.findByEmail(currentUser));
    modelAndView.setViewName("tasks");
    return modelAndView;
}

ошибка исчезла но значение по умолчанию не подтягивается

Answer 1

Проблема решена, использовал th:selected надеюсь кому поможет

                    <form th:action="@{'/tasks/' + ${project.id} + '/edit'}" method="POST">
                    <input id="taskStatus" name="task" type="hidden" th:value="${t.id}"/>
                    <select name="TaskStatus" >
                        <option th:each="s : ${findAllStatus}"  th:value="${s}" th:text="${s.status}"
                                th:name="TaskStatus" th:selected="${s.id == t.taskStatus.id}"></option>
                    </select>
                    <button type="submit" class="add">Add project</button>
                </form>
READ ALSO
Зацикливание WF приложения [требует правки]

Зацикливание WF приложения [требует правки]

Проблема в том, что строчка "Main Main = new Main();" вызывает зацикливание программы, смотрел через отладкуМожно было бы просто убрать ее, но если убрать,...

225
Xamarin chart(график)

Xamarin chart(график)

Необходимо отобразить графикНапример как выглядит график синуса

236
Повторная инициализация переменной

Повторная инициализация переменной

Имеется класс FormPar, который наследуется от FormВсе остальные формы в проекте наследуются от FormPar и имеют общий стиль, а также некоторые элементы

284