java 在Spring postMap中获取空值

vkc1a9a2  于 2023-05-21  发布在  Java
关注(0)|答案(1)|浏览(113)

当浏览器向这个Map发送POST请求时,它应该发送的参数是空的。
HTML:

<form method="post" th:action="@{/}">
    <input type="search" name="ime-grada" placeholder="ime grada">
</form>

POSTMap:

@Controller
public class Post implements WebMvcConfigurer {

    public static String slikaUrl = "https://openweathermap.org/img/w/";

    @PostMapping("/")
    public String vremePost(Model model, String imeGrada) {
        System.out.println("post " + imeGrada); // prints null
        imeGrada = "Beograd"; // hardcoded for testing
        ArrayList<Root> gradovi = new ArrayList<Root>();
        gradovi = PodaciOVremenu.podaciOVremenu(imeGrada);
        model.addAttribute("gradovi", gradovi);
        model.addAttribute("slikaUrl", slikaUrl);
        return Get.vremeGet(model, gradovi);
    }

}

GETMap- Get.vremeGet()

@Controller
public class Get implements WebMvcConfigurer {

    public static String slikaUrl = "https://openweathermap.org/img/w/";

    @GetMapping("/")
    public static String vremeGet(Model model, ArrayList<Root> gradovi) {
        if (gradovi.size() == 0) {
            gradovi = PodaciOVremenu.podaciOVremenu(null);
        }
        model.addAttribute("gradovi", gradovi);
        model.addAttribute("slikaUrl", slikaUrl);
        return "vreme";
    }
}

print语句应打印POST请求发送的参数,但它打印的是null。我正在使用Java 15,Spring 2.4.3,Thymeleaf 3.0.12.RELEASE

1u4esq0p

1u4esq0p1#

我发现了我犯的一个小错误。在HTML中,变量的名称是ime-grada,而在相应的服务器Map中,它是imeGrada。

相关问题