簡體   English   中英

JSF,Spring和Hibernate-如何使用ID GET參數填充編輯表單

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM