java - Thymeleaf:检索隐藏输入到控制器的值
问题描述
我试图通过创建提交按钮来获取存储在隐藏输入中的值。但是程序不会将值绑定到对象。
HTML 文件
<form th:method="POST" th:action="@{/client/1/allprocedures}" th:object="${treatment}">
<input type="hidden" th:value="${treatment.ClientID}" name="1" id="1">
<input type="hidden" th:value="${treatment.ProcedureID}" name="128" id="128">
<input class="btn btn-outline-primary btn-sm mt-2 w-100" type="submit" value="Buy"/>
</form>
控制器
@GetMapping("/{id}/allprocedures/add")
public String addProcedure(Model model){
model.addAttribute("treatment", new Treatment());
return "addProcedure";
}
@PostMapping("/{id}/allprocedures")
public String saveProcedure(@ModelAttribute("treatment") Treatment treatment,
@PathVariable("id") int id,
BindingResult bindingResult){
if(bindingResult.hasErrors())
return "procedurelist";
return "redirect:/client/"+ id +"/allprocedures";
}
治疗模式
public class Treatment {
private int ClientID, ProcedureID;
}
// constructor, getters and setters
控制器工作正常。当我使用文本输入手动输入数据时,该程序应正常工作:
<form th:method="POST" th:action="@{/client/1/allprocedures}" th:object="${treatment}">
<input type="text" th:field="${treatment.ClientID}">
<input type="text" th:field="${treatment.ProcedureID}">
<input class="btn btn-outline-primary btn-sm mt-2 w-100" type="submit" value="Buy"/>
</form>
同时,当我使用th:field
and时name="" id=""
,它也不起作用。我也尝试过使用th:value="name=""
,但它不起作用:
<input type="hidden" th:field="${treatment.ClientID}" th:attr="name=1">
<input type="hidden" th:field="${treatment.ProcedureID}" th:attr="name=128">
有人可以提供帮助或建议吗?提前致谢!
解决方案
尝试使用以下内容:
<input type="hidden" th:field="*{ClientID}">
<input type="hidden" th:field="*{ProcedureID}">
注意使用 * 而不是 $。此外,属性中的值是由th:field
属性指定的对象的th:object
属性。th:field
将为您呈现 id 和 name 属性。
推荐阅读
- java - 集合引发的不需要的异常
- flutter - 在颤振中添加位置插件时出错?
- neo4j - 将 neo4j 查询链接在一起
- java - 在 JAX-RS WriterInterceptor 和 ReaderInterceptor 之间传递参数
- reactjs - 出现错误:src/react_header/src/index.js:React 中的意外令牌(10:2)
- python - 为什么 max() 函数返回的项目小于列表中的另一个项目?
- plugins - 为 hippo cms 的 ckeditor 添加自定义颜色
- php - Laravel如何使用querybuilder从两列进行分组连接
- python - 文件上传 S3 和 heroku python
- kubernetes - 在 Openshift 上使用 Zookeeper