我正在尝试Grails,并且遇到了GSP的一些问题。
我有三个班,即:作者,书籍和奖励。 1位作者可以拥有多本书,每本书都可以有多个奖项。以下是域控制器:
class Author {
String authorName
static hasMany = [books : Book]
}
class Book {
String bookName
BigDecimal price
static belongsTo=[author : Author]
static hasMany=[awards: Award]
}
class Award {
String awardName
Date awardDate
static belongsTo = [book : Book]
}
以下是我的GSP:
<table>
<th >Author Name</th>
<th >Books</th>
<th >Awards</th>
<g:each in="${authorList}" var="author" status="i">
<tr>
<td> ${author.authorName} </td>
<td> ${author.books} </td>
<td> ${author.books.awards} </td>
</tr>
</g:each>
</table>
目前显示:
书籍:[第2册,第1册]
奖项为:[[],[Award 1]]
我想将它们显示为: 图书: 1.第2册 2.预订1
获奖:
1.
2.奖励1
我可以将Book和Award放入对象并使用迭代它们吗?
提前谢谢你。
答案 0 :(得分:1)
${author.books}
和${author.books.awards}
是一个SET,所以你可以
<g:each in="${author.books}" var="book">
<tr>
<td> ${book?.bookName} </td>
<td> ${book?.price} </td>
</tr>
</g:each>