HTML表单使用thymeleaf和spring Boot 发送对象数组

nx7onnlm  于 2023-02-16  发布在  Spring
关注(0)|答案(1)|浏览(263)

我正在尝试构建一个应用程序,需要发送一个长度可变的对象列表。[Form view](https://i.stack.imgur.com/ynE2T.png
有什么方法可以在控制器中捕获这样的字段吗?我尝试了以下几行:

public String setNewTratament(
        @RequestParam("medicamente") MedicamentatieStartStop[] input,
        Model model) {
      // ...
}

在post中请求类似这样的内容:

<input x-bind:name="`medicamente[${index}][medicament]\`" type="text" class="input input-bordered w-full"\>

(使用alpineJS),其中最后一个字段将是对象“MedicamentatieStartStop”的属性。这些名称从th:inline脚本复制,并恰好粘贴一个此类数组。
问题是它抛出以下错误:方法参数类型MedicamentatieStartStop[]所需的请求参数“medicamente”不存在。
你知道我该怎么处理这种情况吗?

j2cgzkjk

j2cgzkjk1#

通过在表单上添加一个th:object和一个DTO来解决这个问题,我将它从[attribute]改为.attribute,其他的都保持不变。

相关问题