1

我有 ag:select 在我的视图中显示产品列表:

<g:form name="addproductform" action="saveProductToInventory" method="post">
    <g:select from="${products}" name="product" value="${it?.id}" />
    <g:hiddenField name="inventory.id" value="${inventoryInstance.id}" />
    <input class="save" type="submit" value="Save product" />
</g:form>

${products} 是所有产品的列表。如果我打印传递给控制器​​的 params 变量,我会得到:

[产品:测试产品,库存:[id:1],inventory.id:1,操作:saveProductToInventory,控制器:库存]

产品密钥包含名称,而不是当我将 value="${it?.id}" 添加到 g:select 标记时我认为它会包含的 ID。

我如何需要声明 g:select 标记以呈现产品名称,但将产品的 id 作为值传递?

4

1 回答 1

1

您需要对标签使用 optionKey 参数。

例如

<g:select from="${products}" name="product" value="${it?.id}" optionKey="id" />

值 arg 用于选择字段的当前值。

于 2009-09-28T23:33:35.863 回答