关于hasErrors的bean

时间:2014-12-16 07:53:03

标签: grails gsp

假设我的控制器中有以下对象

objCollection = [obj1, obj2, obj3]

在每个obj中都是以下

obj1 = [
    input = value, inputA1 = valueA1, inputA2 = valueA2
]    

obj2 = [
    input = value, inputB2 = valueB2, inputA3 = valueA3
]

obj3 = [
    input = value, inputC2 = valueC2, inputA3 = valueA3
]

我的GSP看起来像这样

<div class="control-group ${hasErrors(bean: objCollection.obj, field: 'input', 'error')}">
    <g:textField name='input' value='${objCollection?.obj}'>
</div>

<div id="subForm" class="subContainer">
    <g:each var='obj' in='${objCollection}' status='a'> 
        <div id='obj${a+1}'>
            <div class='subaccordion'>
                <div>
                    <g:each var='objInstance' in='${obj}' status="b">
                        <g:render template="miniForm" model="[b:b, objInstance:objInstance]"/>
                    </g:each>
                </div>
            </div>
        </div>
    </g:each>
</div>

对于模板miniForm

<div class="control-group ${hasErrors(bean: objInstance, field: 'input', 'error')}">
    <g:textField name='input' value='${objInstance?.obj}'>
</div>
<div class="control-group ${hasErrors(bean: objInstance, field: 'input', 'error')}">
    <g:textField name='input' value='${objInstance?.obj}'>
</div>

使用jquery更改name属性,在表单加载时输入A1,A2,B1,B2,C1和C3。

现在我的问题是,我是否已将对象正确地传递给hasErrors上的bean?因为我试图让hasErrors工作,但不知怎的,它并没有达到我的期望。

我在任何地方都犯了错误吗?

我是否也正确地将对象映射到GSP中的每个输入?我不太确定如何使用安全操作员&#39;?&#39;避免nullPointer错误。

0 个答案:

没有答案