【发布时间】:2019-05-20 02:58:54
【问题描述】:
我是 Thymeleaf 的新手,我尝试将对象发布到控制器,但没有成功。这是我正在使用的表单模板:
<form id="customerRecord" th:action="@{/saveData}" method="post" th:object="${customerData}">
<input type="hidden" th:value="${name}" th:field="*{name}">
<button type="submit" class="btn btn-primary" >Save Record</button>
</form>
控制器:
@PostMapping("/saveData")
public String saveCustomerData(@ModelAttribute("customerData") CustomerData customerData, Model model) {
try {
LOG.info("Working {}", writer.writeValueAsString(customerData));
} catch (JsonProcessingException e) {
LOG.info("Problem");
}
return "success";
}
客户数据类:
public class CustomerData {
private AuthorizeRequestItem name;
private AuthorizeRequestItem mobileNumber;
private AuthorizeRequestItem countryCode;
private AuthorizeRequestItem emailUser;
private AuthorizeRequestItem emailDomain;
}
AuthorizeRequestItem 类:
public class AuthorizeRequestItem {
private Date date;
private String validator;
private Boolean valid;
private String data;
}
问题是 CustomerData 它自身包含嵌套对象。
我需要将完整的CustomerData 传递给控制器,但是当我尝试在输入字段中传递对象时,它(控制器)收到CustomerData 嵌套对象的空值。
我已经实现了 Thymeleaf 表单来传递包含字符串变量的对象,它对我很有用。
任何帮助将不胜感激。
【问题讨论】:
-
请输入您的 CustomerData 类
-
我已经编辑了代码。现在检查,
-
@HammadAllauddin 我相信您现在只能从 customerData 获得名称?
-
@manfromnowhere 不,我只得到空值
-
好吧,我没有看到隐藏的输入。我可以知道你为什么要输入
type="hidden"如果你还没有任何值,值将如何输入?
标签: java spring spring-mvc spring-boot thymeleaf