我有一个嵌套的对象,并将其用作表单的模型。

public AgeBracketSet implements Serializable{
    private String id;
    private List<AgeBracket>  ageBrackets;

  /* Getters and Setters */
}

我已成功将此对象的所有属性绑定到表单,并且可以在呈现视图状态时可视化其值。 这是我如何使用Thymeleaf的简化版本。 本质上,我遍历列表项并获取其属性。

<form id="bracketForm" role="form" th:action="${flowExecutionUrl}" th:object="${ageBracketSet}" method="post">
    <input th:id="'bracketSet_'+*{id}" th:field="*{id}" />
    <th:block th:each="bracket,loop : *{ageBrackets}" th:id="'bracket_'+${bracket.id}">
        <input th:id="'fromAge_'+${bracket.id}" th:field="*{ageBrackets[__${loop.index}__].fromAge}" />
        <input th:id="'toAge_'+${bracket.id}"  th:field="*{ageBrackets[__${loop.index}__].toAge}" />
    </th:block>
</form>

但是,当我在表单中进行更改并提交时,模型保持不变。 我已经通过调试接收表单数据的服务来确认这一点。 该模型没有在表单中进行更改。 我在这里做错什么吗?

===============>>#1 票数:1

我不好意思说我找到了解决方案。 由于每个输入中都缺少“名称”属性,因此这些值根本没有发布到网络流中。 使用与名称相同的动态生成的ID即可完成工作,并且绑定对于列表的每个项目都是正确的。 像这样:

<input th:id="'fromAge_'+${bracket.id}" th:name="'fromAge_'+${bracket.id}" th:field="*{ageBrackets[__${loop.index}__].fromAge}" />

感谢所有花时间阅读这篇愚蠢的帖子的人。 下次我会更加小心;)

  ask by Razorblade translate from so

未解决问题?本站智能推荐:

2回复

嵌套对象更改时更新绑定

我有一些XAML如下(一个简单的标签和按钮): 在我背后的代码中: 而Person类是: 实际上,触发Propertychanged事件不会导致Label的内容更改为Bill。 我发现我能够通过以下方式克服这个问题: 将新对象分配给_person(如注释掉
1回复

Spring Data JPA按示例查询,可以访问嵌套的对象属性

我使用Query by Example并想知道如何在嵌套对象中找到具有某些属性的对象。 有人计划吗? 这是我的示例代码:
2回复

Thymeleaf嵌套对象表单绑定未生成好的输入名称

我有以下对象结构: 这是我的B类: 我将A对象传递给我的视图,我想为我的B对象创建一个表单: 但是上面的代码将起作用,它将生成如下输入名称: objB.test ,为此,我的控制器无法将其绑定到B对象。 这是我的控制器中的接收方法: 我如何设置Thymele
1回复

Spring Boot Thymeleaf表单绑定

我的代码有一个问题... 我写了实体类Group,看起来像这样: 我有一个简单的Controller MVC, 最后,我的查看页面使用百里香: 我用了 th:对象 但这不是我的代码中的问题... 使用时出现错误 场 我的堆栈
2回复

无法将基于Thymeleaf的UI表单中的值绑定到Spring Boot中的控制器

我的应用程序无法将表单值从基于Thymeleaf + HTML的UI绑定到Spring Boot控制器。 当我在控制器中执行System.out.println时,该值为null 。 的index.html PublishMessageController.java
1回复

未在表单对象Thymeleaf Spring中设置ID

我正在尝试使用Thymeleaf和Spring Server编辑以前填写的表单。 这是Spring Server中的POST的“先前表单”,可以正确保存。 Spring Server正确地保存了它(使用JPA CrudRepository),并为此对象提供了唯一的ID(这是一个PO
1回复

用Thymeleaf迭代嵌套ul

目前,我有以下代码来迭代ArrayList并将其显示在html列表中: <ul> <li th:each="section : ${sectionService.getAllSections()}">Section</li> </ul&
1回复

Thymeleaf嵌套列表不起作用

我正在尝试使嵌套列表在Thymeleaf中工作。 我试图不嵌套列表和entry.value工作。 但是,当我开始嵌套它时,它不会显示在网页中。 Students是Map<String, ArrayList<String>> 。 目前看起来像这样。
1回复

Thymeleaf-列表中每个对象的形式

我是Thymeleaf的新手,并尝试解决以下问题: 控制器类的代码段: 现在,在模板xxx.html中,我尝试为每个人创建一个表单(而不是为所有人创建1个表单)。 到目前为止,我的方法: 毫不奇怪:这行不通。 如果删除输入元素,则不会发生异常。 通过输入元素,我得到
1回复

Thymeleaf中的嵌套循环绑定

我正在使用Java / Spring / Thymeleaf制作Web应用程序,但似乎无法解决此问题! 所以,这是我的百里香模板代码: 我在这里已经阅读了相关问题,但仍然很困惑。 我确实读过您不能直接绑定对象的原因,这就是为什么我试图绑定到假日对象的user_id属性。 我确实