如何在Springboot Thymeleaf中创建JSON?

时间:2019-03-19 07:36:45

标签: java html json thymeleaf

我有一个表单页面,当我单击“提交”时,它会获得用户输入并显示它。 同时,我希望它生成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";
>       } }

我的home.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>

我的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> 

每当我进入“ info.html”页面时如何创建JSON文本?

0 个答案:

没有答案