假设我有一个如下控制器动作:
def someAction = {
if (someCondition) {
[foo: 1, bar: 2]
} else {
[foo2: 4, bar2: 6, baz2: 6]
}
}
Run Code Online (Sandbox Code Playgroud)
在someAction.gsp我不知道模型的键是什么.有没有办法可以在不知道密钥名称的情况下迭代模型的键和值?
request对象中提供了所有模型属性.您可以像这样迭代此对象:
<g:each var="item" in="${request}">
${item.key} = ${item.value}<br/>
</g:each>
Run Code Online (Sandbox Code Playgroud)
请注意,该request对象将包含所有请求属性,许多您可能不感兴趣的信息.
另一种实现目标的方法是将所有模型属性放在一个地图中,如下所示:
if (someCondition) {
[result:[foo: 1, bar: 2]]
} else {
[result:[foo2: 4, bar2: 6, baz2: 6]]
}
Run Code Online (Sandbox Code Playgroud)
这样,您可以将属性与其他请求属性隔离开来.在这种情况下,您将不得不使用result地图迭代模型键:
<g:each var="item" in="${result}">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
856 次 |
| 最近记录: |