Java 如何使用thymeleaf从html选择中获取值和文本
给定以下POJO,其中只有两个字段: 实体:Java 如何使用thymeleaf从html选择中获取值和文本,java,thymeleaf,Java,Thymeleaf,给定以下POJO,其中只有两个字段: 实体: 身份证 名字 我有一个带有以下选项的表单: <select required="required" name="name" id="myId"> <option th:disabled="disabled" selected="true" value="">Choose Value</option> <option th:each="element : ${elements}"
- 身份证
- 名字
<select required="required" name="name" id="myId">
<option th:disabled="disabled" selected="true" value="">Choose Value</option>
<option th:each="element : ${elements}"
th:value="${element.id}"
th:text="${element.name}">
</option>
</select>
选择值
我正在尝试填充实体字段,以便通过th:value(即所选元素.id的值)填充id字段,通过th:text(即所选元素.name的值)填充name字段
据我所知(以及我所取得的成就),我只能使用html选择标记(我在name的选择标记中设置的标记)填充一个字段。您知道如何使用thymeleaf在实体中同时映射th:text和th:value值吗?就标准过程而言,您无法同时获取这两个值。但是,您可以将值字段作为两个值的串联版本提交。您可以通过以下方式实现这一点:
<option th:each="element : ${elements}"
th:value="${element.id} + '~' + ${element.name}"
th:text="${element.name}">
</option>
有几种方法可以做到这一点:--
1。)在控制器上接收到值后,您始终可以根据控制器上接收到的值从数据库执行select查询,以获取文本值
2。)您可以使用隐藏html
元素和html选项
,然后使用javascript提交表单并获取两个值。查看本教程:我一开始就遵循了本教程。问题是,你可以注意到他使用了两个输入字段,现在我想用一个select元素得到两个值。