Grails GSP格式问题

时间:2017-05-07 07:24:06

标签: grails gsp

我正在尝试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放入对象并使用迭代它们吗?

提前谢谢你。

1 个答案:

答案 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>