首页 > 解决方案 > 将 obj 和数量列表放入 commnad obj 中

问题描述

我是 Grails 框架的新手,我正在使用目前可用的最新版本 3.3.8。我有一个 html 表,每行有两个输入标签,如下所示:

<input value="123" name="productId" type="hidden">
<input value="6" name="qty">

productId 是名为 Product 的域对象的 id,而 qty 是一个数字(Long)。我将在我的表中有多个具有不同数量和 productId 的行,以及一个用于提交内部包含该表的表单的按钮。我想要一个命令对象,一旦我点击提交按钮就会被填充。基本上它应该有一个地图对象列表,每个对象都有一个 Product 和一个数量,m 但我不知道这是否可能。

标签: grails

解决方案


如果你只填写数量,你可以这样做:

普惠制:

<g:each in="${productList}" var="product">
    <tr>
        <td>
            <label>Product ${product.id}:</label>
            <input value="" name="qty_${product.id}">
        </td>
    </tr>
</g:each>

控制器:

params.findAll{it.key.startsWith("qty_")}.each{ key, value->        
    def productId = key.split("_")[1].toLong()
    def qty = value.toLong()
    //do something
}

推荐阅读