Переслать объект Thymeleaf на контроллер - PullRequest
0 голосов
/ 19 декабря 2018

Я новичок в 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";
}

Класс CustomerData:

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 для передачи объектов, содержащих строковые переменные, и это хорошо работает для меня.

Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 24 декабря 2018

Это будет работать, когда мы будем использовать сообщение в листе тимьяна, мы будем использовать вызов 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");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...