如何访问从HTML / thymeleaf到Spring控制器的表单输入?

时间:2017-06-25 02:06:24

标签: java spring spring-boot thymeleaf

我正在尝试创建一个名为balance的html页面,用户输入一个帐号。检索控制器输入值的最佳方法是什么?我试过这个,我不知道这是不是正确的方法。

    @PostMapping("/balance")
    public  String balanceCheck(@RequestParam("aNum") Long num,@ModelAttribute Transactions user,Model model) {


     int deposits=0;
     int withdraw=0;
     int balance=0;
     long accountNum= user.getAccountNum();


     Iterable <Transactions>accountTrans=  transactRepository.findByAccountNum(user.getAccountNum());

     for (Transactions tran: accountTrans){

         if (tran.getAction().equals("D")){

             deposits+=tran.getAmmount();
         }

         else if (tran.getAction().equals("W")){

             withdraw+=tran.getAmmount();
         }
     }

     balance=deposits-withdraw;
     model.addAttribute("balance", balance);




       return "balance" ;
    }

这是我的HTML:

    <form action="#" th:action="@{/balance}"  method="post">

    <p> ACCOUNT #: <input type="number" name="aNum "/></p>

    <input type="submit" value="Submit"/>
    </form>

1 个答案:

答案 0 :(得分:0)

要在页面上打印值,您需要:

<form action="#" th:object="${user}" th:action="@{/balance}" method="post">

   <p>ACCOUNT #: <input type="number" th:name="aNum"/></p>

   <input type="submit" value="Submit"/>

</form>

然后创建一个@GetMapping,其中包含model.addAttribute("user", user);,但您计划获取/创建用户。

通过这样做,您告诉Spring将值绑定到user bean。

您可以删除aNum之后和<P>标记之后的空格。这听起来真的很完美,但代码格式不正确容易出错,下一个人难以阅读。