Как создать JSON в Springboot Thymeleaf? - PullRequest
0 голосов
/ 19 марта 2019

У меня есть страница формы, где она получает ввод пользователя и отображает ее, когда я нажимаю «Отправить». В то же время я хочу, чтобы он генерировал текст в формате JSON, чтобы я мог перенести его в другой API

Вот мой контроллер:

>  @Controller public class HomeController {
>   
>      @GetMapping("/home")
>       public String getForm(Model model) {
>           
>          model.addAttribute("formdata", new FormData());
>          return "home.html";
>       }
> 
>       @PostMapping("/home")
>       public String postForm(Model model, @ModelAttribute FormData formdata ) {
>           model.addAttribute("formdata", formdata);
>           return "info.html";
>       } }

Мой дом.html

Начало работы: обработка отправки формы

Личные данные

имя:

Nric:

пол:

    <p>smoker:  <select th:field="*{smoker}">
                <option th:value="'Y'" th:text="Yes"></option>
                <option th:value="'N'" th:text="No"></option>
                </select>
    </p>
    <p>occupation: <select th:field="*{occupation}">
                <option th:value="'ENGINEER'" th:text="ENGINEER"></option>
                <option th:value="'ACCOUNTANT'" th:text="ACCOUNTANT"></option>
                <option th:value="'DOCTOR'" th:text="DOCTOR"></option>
                <option th:value="'MECHANIC'" th:text="MECHANIC"></option>
                </select>
    </p>

                <p>lifegoals: <select th:field="*{lifegoals}">
                <option th:value="'EDUCATION'" th:text="EDUCATION"></option>
                <option th:value="'RETIREMENT'" th:text="RETIREMENT"></option>
                <option th:value="'WEALTH_TRANSFER'" th:text="WEALTH_TRANSFER"></option>
                <option th:value="'GROW_YOUR_WEALTH'" th:text="GROW_YOUR_WEALTH"></option>
                </select>


                <p>payment frequency: <select th:field="*{paymentFrequency}">
                <option th:value="'NA'" th:text="NA"></option>
                <option th:value="'YEARLY'" th:text="YEARLY"></option>
                <option th:value="'HALF_YEARLY'" th:text="HALF_YEARLY"></option>
                <option th:value="'QUARTERLY'" th:text="QUARTERLY"></option>
                <option th:value="'MONTHLY'" th:text="MONTHLY"></option>
                <option th:value="'SINGLE'" th:text="SINGLE"></option>
                </select>

                <p>plan options: <select th:field="*{plans}">
                <option th:value="'3_PAY_15'" th:text="3_PAY_15"></option>
                <option th:value="'5_PAY_15'" th:text="5_PAY_15"></option>

                </select><br>

      <input type="radio" th:name="*{radioSumAssured}" value="SumAssured" />Sum Assured<br>
      <input type="radio" th:name="*{radioIntendedPremium}" value="IntendedPremium" />Intended Premium<br>          

     <p>Basic Sum Assured: <input type="text" th:field="*{BasicSumAssured}" /></p>

     <p>Basic Annual Premium: <input type="text" th:field="*{BasicAnnualPremium}" /></p>          

    <p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
</form> </body> </html>

my info.html

    <!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Getting Started: Handling Form Submission</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Result</h1>
    <p th:text="'name: ' + ${formdata.name}" ></p>
    <p th:text="'nric: ' + ${formdata.nric}"></p>
    <p th:text="'gender: ' + ${formdata.gender}"></p>
    <p th:text="'smoker: ' + ${formdata.smoker}"></p>
    <p th:text="'occupation: ' + ${formdata.occupation}"></p>
    <p th:text="'lifegoals: ' + ${formdata.lifegoals}"></p>
    <p th:text="'payment method: ' + ${formdata.paymentFrequency}"></p>
    <p th:text="'basic sum Assured: ' + ${formdata.BasicSumAssured}"></p>
    <p th:text="'basic annual premium: ' + ${formdata.BasicAnnualPremium}"></p>
    <p th:text="'plan options: ' + ${formdata.plans}"></p>  

<a href="/home">Submit another message</a>
</body>
</html> 

Как получить текст JSON, созданный всякий раз, когда я попадаю на страницу info.html?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...