grails - 将 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 但我不知道这是否可能。
解决方案
如果你只填写数量,你可以这样做:
普惠制:
<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
}
推荐阅读
- amazon-web-services - 如何将 JSON 类型传入 yaml cloudformation 模板
- c++ - 如何在一个 GTK 应用程序中使用多种编程语言?
- shell - 从数据库数据创建的 Xamarin Shell Flyout
- google-authentication - 尝试使用 googleapis 和 node.js 获取经过身份验证的用户电子邮件时出错
- c# - 如何设置 Dialogflow C# SDK 的区域或位置?
- java - java.lang.ClassNotFoundException:com.fasterxml.jackson.module.scala.experimental.ScalaObjectMapper
- webrtc - 是否有任何提供身份验证/挂钩的 WebRTC 服务器库
- laravel - Laravel Livewire 上的 select2 不起作用
- java - “收到空行或输入流结束”是什么意思?
- python - subprocess.communicate() 导致 python 程序在向 minecraft 服务器发送输入时挂起