есть столбец таблицы который выводит список возможных статусов проекта
<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;
}
ошибка исчезла но значение по умолчанию не подтягивается
Проблема решена, использовал 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>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Проблема в том, что строчка "Main Main = new Main();" вызывает зацикливание программы, смотрел через отладкуМожно было бы просто убрать ее, но если убрать,...
Имеется класс FormPar, который наследуется от FormВсе остальные формы в проекте наследуются от FormPar и имеют общий стиль, а также некоторые элементы