假设我的控制器中有以下对象
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错误。