[英]Why are String parameters always null in a Spring Boot 1.5 @Controller?
我将Spring 4.1应用程序(运行I JBoss)迁移到了SpringBoot 1.5(Spring 4.3.7),此后,我们所有带有String参数的MVC控制器在调用时总是接收空值。
我可以获得参数值集的唯一方法是将String替换为StringBuilder。
一个例子,不再工作了:
@RequestMapping(value = "/updateTime", method = RequestMethod.POST)
public String updateTime(@RequestParam(value="time") String time) {
// time is null in SpringBoot
}
工作(用StringBuffer代替String:
@RequestMapping(value = "/updateTime", method = RequestMethod.POST)
public String updateTime(@RequestParam(value="time") StringBuffer time) {
// time has expected value
}
HTML:
<form name="updateTime" action="updateTime.html" method="post">
Time: <input type="text" name="time" placeholder="YYYY-MM-DD HH:mm" value="${time}"/> <br/>
<input type="submit" name="action" value=" Update "/>
</form>
即使将控制器中的String参数复合到一个请求对象中,我也可以获得这种行为。
我在这里做错什么了吗?
INFO :Spring使用HTML名称属性。 您应该具有相同的名称和RequestParam值。 注意:在HTML表单操作中,最好也与RequestMapping值相同。 尝试这个 :
<form name="updateTime" action="/updateTime" method="post">
Time: <input type="text" name="time" placeholder="YYYY-MM-DD HH:mm" value="${time}"/> <br/>
<input type="submit" name="action" value=" Update "/>
</form>
@RequestMapping(value = "/updateTime", method = RequestMethod.POST)
public String updateTime(@RequestParam(value="time") String time) {
// time is null in SpringBoot
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.