我試圖創建我的第一個CRUD。 這裏是我的journey.html表代碼。將對象的變量傳遞給thymeleaf中的控制器
<table>
<tr th:each="trip : ${trips}">
<td th:text="${trip.title}"></td>
<td th:text="${trip.destination}"></td>
<td th:text="${trip.id}"></td>
<form th:action="@{/journeys}" th:object="${trip}" method="post">
<input type="hidden" th:field="${trip.id}" />
<button type="submit">Delete</button>
</form>
</tr>
</table>
並使我的控制器看起來像現在這樣。
@RequestMapping(value = {"/journeys"}, method = RequestMethod.GET)
public String journeysPage(Model model){
tripRepository.save(new Trip("Asian Trip", "Asia"));
tripRepository.save(new Trip("European Trip", "Europe"));
tripRepository.save(new Trip("African Trip", "Africa"));
model.addAttribute("trips", tripRepository.findAll());
return "journeysSite";
}
@RequestMapping(value = {"/journeys"}, method = RequestMethod.POST)
public String journeysPageTripDeleting(@RequestParam Long id) {
tripRepository.delete(id);
return "journeysSite";
}
我要的是顯示在表中/我的行程我所有的行程。在每一行中都會有一個刪除按鈕,它會POST trip.id,將它從數據庫中刪除並重定向到完全相同的頁面,但刪除了行程。
但很明顯出現了錯誤:java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'id' available as request attribute at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:144) ~[spring-webmvc-4.3.6.RELEASE.jar:4.3.6.RELEASE]
會有人給我一個提示怎麼辦呢?謝謝。
謝謝回答。仍然:在Chrome中執行處理器'org.thymeleaf.spring4.processor.attr.SpringInputGeneralFieldAttrProcessor'(journeysSite:18)時出錯。在INTELLIJ中,我有java.lang.IllegalStateException:既沒有BindingResult也沒有bean名稱'id'的普通目標對象可用作請求屬性 –
@ Karol.T您是否構建了代碼並重試? –
當然,我:)我不知道如果我的HTML代碼中沒有錯誤。 –