[英]JSF, Spring and Hibernate - how to populate edit form with id GET param
我正在跟蹤示例教程,該教程如何將JSF,Spring,Hibernate集成到我的Web應用程序中:
http://www.journaldev.com/7122/jsf-spring-hibernate-integration-example-tutorial
http://www.journaldev.com/3531/spring-mvc-hibernate-mysql-integration-crud-example-tutorial
直到現在一切對我都可以正常工作(插入和刪除)。 現在,我想擁有一種單一形式,不僅用於將數據插入數據庫,而且還用於編輯,僅不需要在html文本字段中手動輸入id字段,如示例所示。 另外,我想在沒有搜索/編輯/搜索引擎優化路徑的情況下執行此操作(我想像編輯嗎?id = 1)
我在問題中發布的第二個鏈接中看到,為此定義了控制器類-PersonController.java(該示例使用Spring MVC,我正在使用JSF,如第一個鏈接教程所示,但我想我需要那個控制器)
在那里定義:
@RequestMapping("/edit/{id}")
public String editPerson(@PathVariable("id") int id, Model model){
model.addAttribute("person", this.personService.getPersonById(id));
model.addAttribute("listPersons", this.personService.listPersons());
return "person";
}
但是,在.java文件或.jsf / .xhtml文件中,我看不到調用了editPerson方法的地方嗎? 我知道我應該寫這樣的請求映射:
@RequestMapping(value = "/index.xhtml", method = RequestMethod.GET, params = { "id" })
我用那個RequestMapping編寫了相同的方法,但是現在該怎么辦? 當url中存在名為“ id”的GET參數時,該在哪里調用該方法填充數據? 當存在名為id的GET參數時,我想發揮功能,然后將顯示數據填充形式(針對數據庫中的ID); 保存該填寫的表單后,更新將在數據庫中進行,而不是插入。 當網址中沒有id參數時,應該插入(GET方法)。 我希望我足夠清楚。
有人可以在源代碼上向我展示如何做嗎?
試試這個代碼:
@RequestMapping(value = "/index.xhtml", method = RequestMethod.GET)
public String editPerson(@RequestParam int id, Model model){
model.addAttribute("person", this.personService.getPersonById(id));
model.addAttribute("listPersons", this.personService.listPersons());
return "person";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.