我正在尝试创建一个名为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>
答案 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>
标记之后的空格。这听起来真的很完美,但代码格式不正确容易出错,下一个人难以阅读。