Spring Roo 详细信息对象
Spring Roo Detail Object
我正在使用 Spring roo v2.0。我创建了一个包含两个实体的简单应用程序:Library 和 Book。一个图书馆可以有更多的书,所以我创建了一个一对多的关系。
我使用以下命令创建项目:
project setup --topLevelPackage com.library
jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
entity jpa --class ~.Library
field string --fieldName identifier --notNull
entity jpa --class ~.Book
field string --fieldName identifier --notNull
focus --class ~.Library
field set --fieldName book --type ~.Book --mappedBy library --notNull false --cardinality ONE_TO_MANY
repository jpa --all --package ~.repository
service --all --apiPackage ~.service.api --implPackage ~.service.impl
web mvc setup
web mvc view setup --type THYMELEAF
web mvc controller --all --responseType JSON
web mvc controller --all --responseType THYMELEAF
web mvc detail --all --responseType THYMELEAF
我的问题..
当我 edit/show 一个图书馆的详细信息时,我想在 select 之后的列表图书馆页面中显示它的书籍。
然后...在这种形式中,我希望有一个添加按钮来为该图书馆创建一本书,而不是一本通用的书。
我该怎么做?谢谢指教
您应该手动自定义与 Library
实体相关的 show.html
视图,以包含包含该信息的 table。
为此,您可以在为 show
页面提供服务的方法的 model
中包含使用 findBooksByLibrary
方法的完整图书列表。像这样:
@Override
@GetMapping(name = "show")
public ResponseEntity<Library> show(@ModelAttribute Library library, Model model) {
model.addAttribute("books", getBookService().findByLibrary(library));
return new ModelAndView("libraries/show");
}
之后,编辑 show.html
页面,包括一个 table
元素,显示以前的相关书籍:
<table data-th-each="item : ${books}">
<tr>
<td data-th-text="${item.identifier}"></td>
</tr>
</table>
注意:请记住,您可以使用 Datatables JQuery 插件为上面的 table 提供额外的功能。
希望对您有所帮助
我正在使用 Spring roo v2.0。我创建了一个包含两个实体的简单应用程序:Library 和 Book。一个图书馆可以有更多的书,所以我创建了一个一对多的关系。 我使用以下命令创建项目:
project setup --topLevelPackage com.library
jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
entity jpa --class ~.Library
field string --fieldName identifier --notNull
entity jpa --class ~.Book
field string --fieldName identifier --notNull
focus --class ~.Library
field set --fieldName book --type ~.Book --mappedBy library --notNull false --cardinality ONE_TO_MANY
repository jpa --all --package ~.repository
service --all --apiPackage ~.service.api --implPackage ~.service.impl
web mvc setup
web mvc view setup --type THYMELEAF
web mvc controller --all --responseType JSON
web mvc controller --all --responseType THYMELEAF
web mvc detail --all --responseType THYMELEAF
我的问题.. 当我 edit/show 一个图书馆的详细信息时,我想在 select 之后的列表图书馆页面中显示它的书籍。
然后...在这种形式中,我希望有一个添加按钮来为该图书馆创建一本书,而不是一本通用的书。
我该怎么做?谢谢指教
您应该手动自定义与 Library
实体相关的 show.html
视图,以包含包含该信息的 table。
为此,您可以在为 show
页面提供服务的方法的 model
中包含使用 findBooksByLibrary
方法的完整图书列表。像这样:
@Override
@GetMapping(name = "show")
public ResponseEntity<Library> show(@ModelAttribute Library library, Model model) {
model.addAttribute("books", getBookService().findByLibrary(library));
return new ModelAndView("libraries/show");
}
之后,编辑 show.html
页面,包括一个 table
元素,显示以前的相关书籍:
<table data-th-each="item : ${books}">
<tr>
<td data-th-text="${item.identifier}"></td>
</tr>
</table>
注意:请记住,您可以使用 Datatables JQuery 插件为上面的 table 提供额外的功能。
希望对您有所帮助