gpt4 book ai didi

java - 在 Spring Boot 中,值不会从 @requestmapping 中从表单填充到 html

转载 作者:行者123 更新时间:2023-11-30 01:48:18 26 4
gpt4 key购买 nike

我正在尝试添加/打印来自 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com