[英]GRAILS g:each problem
我无法让 g:each 工作。 我正在尝试迭代任何东西,但它永远不会起作用=不生成任何 html。
索引.gsp
<g:each var="i" in="${userList}" controller="user">
<li>Item ${i.name}</li>
</g:each>
用户控制器.groovy
class UserController {
...
def userList = {
User.list()
}
...
}
然后我有 User.groovy 填充用户数..
我应该在 in="${.....}" 中写什么来迭代例如声明为 User.groovy 的用户? 我试过:用户,用户,User.list()...
谢谢
编辑:
假设我有一个
def findOne {
[users : User.findAllByNameLike("%Petr%")
}
在我的用户控制器中。
我如何使用 g:each 因为
<g:each var="user" in="${findOne}">
什么都不会。。
在你的例子中。 userList
是一个闭包,所以它是动作名称,所以我假设您正在访问http://localhost:8080/appname/user/userList
如果您从要在 GSP 中呈现的 controller 操作返回某些内容,则它必须位于Map
中,即“模型”。 map 中的每个值都在 GSP 中公开,使用 map 键作为其名称。 因此,与您的 GSP 对应的 controller 操作将是
def userList = {
[users: User.list()]
}
然后你可以迭代
<g:each var="user" in="${users}">
<li>Item ${user.name}</li>
</g:each>
名称无关紧要 - 它只需要在 model map 中与 GSP 中相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.