grails - 在 Controller 中引用 hasMany 属性

标签 grails

我的用户有一个名为监视列表的 hasMany 属性,其中包含一定数量的股票代码,我想在网页上显示该监视列表。

static scaffold = User

def index() { 
    def stocks = StockSymbol.list(sort: "volume", order: "desc")
    def a = User.get(1)
    for(stock in a.watchlist)
    {
        println stock.name
        println stock.volume
        println stock.price

    }
    return [stocks: stocks]
}

到目前为止,这会将信息打印到控制台。无论如何,我可以存储该信息并像处理股票对象一样返回吗?

最佳答案

您可以将 user 实例传递给 View (index.gsp):

return [stocks: stocks, user: a]

并打印你想要的所有信息:

<body>
    .
    .
    .
    <p>Watchlist of user ${user}</p>
    <ul>
    <g:each var="stock" in="${user.watchlist}">
        <li>${stock.name} | ${stock.volume} | ${stock.price}</li>             
    </g:each>
    </ul>
    .
    .
    .
</body>

或者,您可以像这样传递监视列表:

return [stocks: stocks, watchlist: a.watchlist]

顺便说一句 - 您可以在 Groovy 中省略 return 语句。

关于grails - 在 Controller 中引用 hasMany 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13068053/

相关文章:

grails - 测试 grails Controller 抛出 java.NullPointerException

grails - Grails邮件端口配置

grails - 避免 Grails 应用程序上的 Heroku 启动超时

grails - 成功登录后grails重定向

unit-testing ->> 和 1* 在这个 groovy 语句中是什么意思?

grails - 如何在Grails 3中使用getArtefact调用构造函数

grails - 如何管理发送到我的 grails 的文件

grails - Grails:在GORM中持久保存 HashMap 的最简单方法

grails - 在 Grails 中创建 war 时从插件中删除特定的 jar

file - Grails fileUpload限制