Я перенес приложение Spring 4.1 (под управлением I JBoss) в SpringBoot 1.5 (Spring 4.3.7), и после этого все наши контроллеры MVC с параметрами String всегда получают нулевые значения при вызове.
Единственное единственноеЧтобы получить набор значений параметров, нужно было заменить String на StringBuilder.
Пример, который больше не работает:
@RequestMapping(value = "/updateTime", method = RequestMethod.POST)
public String updateTime(@RequestParam(value="time") String time) {
// time is null in SpringBoot
}
Working (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 в контроллере объединены в объект запроса, я получаю такое поведение.
Я что-то здесь не так делаю?