Forms 提交Grails表单的一些简便技巧是什么?
每个人都知道通过html表单将参数传递给控制器:Forms 提交Grails表单的一些简便技巧是什么?,forms,grails,groovy,gsp,Forms,Grails,Groovy,Gsp,每个人都知道通过html表单将参数传递给控制器: <g:form action="save"> <g:textField name="text1" /> </g:form> 我隐约意识到能够在Grails中将这些参数构造成某种对象表示法: <g:form action="save"> <g:textField name="text.a" /> <g:textField name="text.b" /> &l
<g:form action="save">
<g:textField name="text1" />
</g:form>
我隐约意识到能够在Grails中将这些参数构造成某种对象表示法:
<g:form action="save">
<g:textField name="text.a" />
<g:textField name="text.b" />
</g:form>
我几乎不知道它们在控制器中是如何构造的(对象?hashmaps?我记得在后一个示例中,在某个时候不得不使用.value)
所以我猜这个问题实际上是两个问题:
“text.a”
用于消除从属性到域对象的数据转换的歧义。例如,如果您有两个域对象,每个域对象都有一个属性“a”
,如果执行domObj1.properties=params
和domObj2.properties=params
操作,则该值将转到两个域对象,这两个域对象可能不是您想要的。因此,在您的视图中,应该有变量domObj1.a和domObj2.a,在grails控制器中,您可以使用def domObj1=new domObj1(params[“domObj1”])进行实例化。
第二个问题是,如果您的意思是是否可以对对象进行迭代,那么可以在${}包装器中使用GPath语法,例如检查下面id属性中的代码
<td><g:remoteLink controller="device" action="getDevice" id="${objInstance.prop1.prop2.id}" update="propDetail">${fieldValue(bean: objInstance.prop1, field: "prop1")}</g:remoteLink></td>
${fieldValue(bean:objInstance.prop1,字段:“prop1”)}
上面的示例还显示了从grails gsp提交表单的ajax方式