当浏览器向这个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
1条答案
按热度按时间1u4esq0p1#
我发现了我犯的一个小错误。在HTML中,变量的名称是ime-grada,而在相应的服务器Map中,它是imeGrada。