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

标签 java spring spring-boot thymeleaf

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

相关文章:

Java 输入流 "blocking"和多线程

java - websphere - CWWKE0054E 错误无法打开文件

spring - 使用 HttpComponentsMessageSender 的具有基本身份验证的 WebServiceTemplate

java - Lombok v1.18.12 不适用于 Eclipse JEE 2019-12 版本

Spring组件在Configuration类之前初始化

java - SimpUserRegistry 不包含任何 session 对象

java - 按对象的属性对 Arraylist 进行排序

java - 将ImageView保存到sdcard android

java - Spring MVC 通过表单更新对象

spring-boot - 在 Spring Boot 应用程序中缓存 OAuth2 token ?