2011-03-31 47 views
0

我有一个grails选择标记,其名称呈现为一个想法是一个bean的bean,因此该名称的格式为“supplier.code”,我需要它的格式为“supplierCode”,但如果我更改名称以影响它不会识别的id,并将值保存在bean中(当验证页面时没有选择的值重新加载)。我需要这种方式,以便我可以将它与Jquery验证插件一起使用,该插件不接受“supplier.code”作为有效代码。Grails选择标签名称id覆盖,该怎么做?

有没有办法重写如何在不中断bean保存的情况下给出id?可以通过构建自定义标签来实现吗?

<g:select name="supplier.code" from="${data.Vendor.list().sort{ it.description }}" optionKey="code" optionValue="description" value="${invoiceInstance?.supplier?.code}" default="none" noSelection="['':'-Choose-']" /> 

编辑-----

我不知道自定义标签就可以了(对自己)becasue只要我改变ID它不会救豆。也许,我只需要将模板中的名称更改为“supplierCode”,然后在控制器级别获取“supplierCode”中存储的值,然后将其作为supplier.code动态添加到bean中。我会尽力...

回答

0

doh!它是如此简单,

invoiceInstance.supplier = Vendor.findByCode(params['supplierCode']) 

然后更名为 “supplierCode”