加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

迭代Grails控制器模型

发布时间:2020-12-14 16:20:37 所属栏目:大数据 来源:网络整理
导读:假设我有一个如下控制器动作: def someAction = { if (someCondition) { [foo: 1,bar: 2] } else { [foo2: 4,bar2: 6,baz2: 6] }} 在someAction.gsp中,我不知道模型的键是什么.有没有办法可以在不知道密钥名称的情况下迭代模型的键和值? 解决方法 请求对象
假设我有一个如下控制器动作:

def someAction = {

    if (someCondition) {
        [foo: 1,bar: 2] 
    } else {
        [foo2: 4,bar2: 6,baz2: 6]
    }
}

在someAction.gsp中,我不知道模型的键是什么.有没有办法可以在不知道密钥名称的情况下迭代模型的键和值?

解决方法

请求对象中提供了所有模型属性.您可以像这样迭代此对象:

<g:each var="item" in="${request}">
      ${item.key} = ${item.value}<br/>
    </g:each>

请注意,请求对象将包含所有请求属性,许多您可能不感兴趣的信息.

另一种实现目标的方法是将所有模型属性放在一个地图中,如下所示:

if (someCondition) {
       [result:[foo: 1,bar: 2]] 
    } else {
       [result:[foo2: 4,baz2: 6]]
    }

这样,您可以将属性与其他请求属性隔离开来.在这种情况下,您必须使用结果映射迭代模型键:

<g:each var="item" in="${result}">

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读