我正在尝试添加/打印来自 html 的两个值,并将添加内容显示到另一个 html 中。所以第一个请求到达端点 @GetMapping("/addition")
它正在打开一个 form
,在 form
我已经给出了另一个端点 @PostMapping("/submit")
的操作它应该在另一个 html 上发送值,但它正在打印唯一不是来自表单的硬编码值。
这里是 Controller 部分:
@GetMapping("/addition")
public String getInputForm(Model model) {
model.addAttribute("addpojo", new AddPojo());
return "addition";
}
@PostMapping("/submit")
public String SubmitForm(@RequestParam("a") int a, @RequestParam("b") int b, AddPojo addpojo, Model model) {
addpojo.setA(a); addpojo.setB(b);
model.addAttribute("com", addpojo);
return "added";
}
AddPojo.java
公共(public)类AddPojo{
private int a;
private int b;
getter and setters....
addition.html:
<form action="#" th:action="@{/submit}" th:object="${addpojo}" method="POST">
First Value:<input type="text" name="a" th:field="*{a}"/>
Second Value:<input type="text" name="b" th:field="*{b}"/>
<p><input type="submit" value="add" /> <input type="reset" value="Reset" /></p>
</form>
添加.html
<body>
<!-- ${add.a + add.b} -->
Addition of two values is: ${com.a+com.b}
</body>
最佳答案
您从 HTML 中获取的值不会被视为您的方法的整数。因此,您应该将参数设置为字符串而不是整数。以下方法测试成功。
@PostMapping("/submit")
public String SubmitForm(@RequestParam("a") String a, @RequestParam("b") String b, Model model,AddPojo addPojo) {
addPojo.setA(Integer.parseInt(a));
addPojo.setB(Integer.parseInt(b));
model.addAttribute("com", addPojo);
return "added";
}
关于java - 在 Spring Boot 中,值不会从 @requestmapping 中从表单填充到 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57026772/