【问题标题】:Thymeleaf post object to controllerThymeleaf 将对象发布到控制器
【发布时间】: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


【解决方案1】:

这将起作用,当我们在百里香叶中使用 post 时,我们将使用 ajax 调用,这将获取您的值并将其传递给您的控制器,现在当您单击提交按钮时,值将传递给您的控制器。 例如:

 <div id="form Data">
<input  id="app Id" type="hidden" t h:value="${app Id}" />
 <input  type="submit"  on click="redirection()"/>
</div>

<script type='text/java script'>
function redirection(){
 let app id = document.get Element By Id('app Id').value;

 let u r l ="this will be your u r l where you want to redirect"

 window.open(u r l,"_self");

【讨论】:

    猜你喜欢
    • 2018-09-23
    • 1970-01-01
    • 2019-09-29
    • 2013-07-03
    • 2015-09-04
    • 2016-08-05
    • 2021-11-07
    • 2017-02-22
    • 2018-09-02
    相关资源
    最近更新 更多