2017-05-07 158 views
0

我嘗試了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]]

我想將它們顯示爲: Books: 1. Book 2 個2.書1

獎:
1.
2.二等獎1項

我可以把兩者圖書和獎成一個對象,並使用迭代呢?

預先感謝您。

回答

1

${author.books}${author.books.awards}是一組,這樣你就可以

<g:each in="${author.books}" var="book"> 
    <tr> 
     <td> ${book?.bookName} </td> 
     <td> ${book?.price} </td> 
    </tr> 
</g:each> 
+0

太謝謝你了!這正是我需要的!乾杯! – YSL