我们无法在任何地方找到如何执行此操作的示例。
从 Controller 向 View 发送数据的方法似乎是使用响应。通常回应需要一个论点。我们想发送许多。
例如。如果我们有一个控制面板,其中显示了许多不同的数据(用户帐户余额,最近的交易,消息等)。
我们的 Controller 如下所示:
def index() {
User user = User.find (session.getAttribute("user"))
def accounts = Accounts.findAllByUser(user)
def messages = Messages.findAllByUser(user)
// this doesn't work, but we guess something like this might be possible.
respond [accounts:accounts, messages:messages]
}
此外,findAllBy文档没有说明返回的内容。它可能是数组,映射,列表。
然后在我们看来,我们应该能够执行以下操作:
${accounts[0].balance}
或许
${accounts.size()}
如果findBy ...返回列表。
最佳答案
感谢Mike W,答案是:
def index() {
User user = User.find (session.getAttribute("user"))
def accounts = Accounts.findAllByUser(user)
def messages = Messages.findAllByUser(user)
[accounts:accounts, messages:messages]
}
很可惜,这不在文档的示例中,这是一个非常有用的功能
关于grails - 如何从 Controller 响应/发送多个对象以进行查看?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56598615/