通过 g:每次迭代将值传递给输入



假设我从控制器那里获得了这些数据,我想将其传递给我的 GSP

def test = [value: ['TEST1', 'TEST2', 'TEST3']]

在我的 GSP 中,我有以下内容

<g:set var="counter" value="${0}"/>
<g:set var="count" value="${count}"/>
<g:while test="${counter < count}">
    <g:set var="counter" value="${counter+1}"/>
    <g:each var='obj' in='${test}' status='i'>
        <g:textField id='justATest1' name='justATest' value='obj.value'>
        <g:textField id='justATest2' name='justATest' value='obj.value'>
        <g:textField id='justATest3' name='justATest' value='obj.value'>
    </g:each>
</g:while>

我希望justATest1将获得TEST1,justATest2将获得TEST2,justATest3将获得TEST3。

我怎样才能做到这一点?

假设您的模型包含以下内容

def myAction() {
    [value: ['TEST1', 'TEST2', 'TEST3']]
}

这应该做到

<g:each status="i" in="${value}" var="item">
    <g:textField id="justATest${i}" name='justATest' value="${item}">
</g:each>
好吧,

我似乎设法在 GSP 中迭代对象

<g:each var='obj' in='${test}'>
    <g:each var='subObj' in='${obj.value}'>
        <p>${subObj}</p>
    </g:each>
</g:each>

但有点不够优雅。

我也可以用这个来做,正如多纳尔在他的答案中所说的那样

<g:each var='obj' in='${test.value}'>
    <p>${obj}</p>
</g:each>

但是我认为,如果我想单独且唯一地迭代测试对象中的每个项目,那将很难。

任何人都可以随时修复我的方法。

相关内容

  • 没有找到相关文章

最新更新