2 回答
TA贡献2041条经验 获得超4个赞
只有在父标签th:field中使用时才能使用。(从您发布的 HTML 中并不清楚 - 但您可能不是因为您直接添加为模型属性。)th:object<form />valoresAtributo
如果您希望显示预选<option>但不使用th:object,th:field您应该使用应该评估或基于是否应该选择该选项的th:selected属性。它应该看起来像这样:truefalse
<select class="form-control col-md-10">
<option
th:each="option : ${T(com.jequiti.JequitiIntegrador.controller.AtributoController).test(valorAtributo.sqlValidacao)}"
th:value="${{option.valorAtributo}}"
th:text="${option.significadoAtributo}"
th:selected="${valorAtributo.valorUsuario == option.valorAtributo}" />
</select>
TA贡献1744条经验 获得超4个赞
我使用百里香检索列表的方法:
例如,带有进入 html 页面users的实体列表的列表:User
@GetMapping("/parsing/explorer")
public ModelAndView parsing(){
ModelAndView modelAndView = new ModelAndView("show");
modelAndView.addObject("users", generateUsersList());
return modelAndView;
}
show.html例子:
<table class="w3-table-all w3-card-4">
<tr>
<th>Id</th>
<th>Name</th>
<th>Last name</th>
</tr>
<tr th:each="user : ${users}">
<td th:text="${user.getId()}"></td>
<td th:text="${user.getName()}"></td>
<td th:text="${user.getLastName()}"></td>
</tr>
</table>
所以User( users) 的列表被分配给user字符串中的变量<tr th: every = "user: $ {users}">
在下一段代码中,我们也可以像java使用 getter 一样调用“用户”字段,但 Thymeleaf 还允许您引用这些字段:user.id/ user.name....
确定select块中的变量:
<select name="userFromHtml" id=userId required>
<option th:each="user: ${users}">
<title th:text="${user.getLastName()} + ' ' + ${user.getName()} + ' ' + ${user.getIdIO}" th:value="${user.getId()}"/>
</option>
</select>
在这种情况下有必要th:value在title块中确定:th:value="${user.getId()}"。因此,在控制器中传递了带有所选用户userFromHtml值的变量。id
PS 虽然 Thymeleaf 允许您直接定义变量,但我更喜欢使用 getter 来获取数据。
添加回答
举报