powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring @ModelAttribute пустой параметр - null
4 сообщений из 4, страница 1 из 1
Spring @ModelAttribute пустой параметр - null
    #37973762
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим, у объекта, используемого в @ModelAtribute есть поле не строкового типа.
Если в реквесте параметр пустой, то при обращении к соотв. свойству объекта вылезает nullpointerexception.

Как правильно сделать, чтобы из пустого параметра получался нулл?
Что нашел по этому поводу, имхо, лютые костыли, начиная от initBinder и заканчивая https://jira.springsource.org/browse/SPR-7768

Может я что-то пропустил?
...
Рейтинг: 0 / 0
Spring @ModelAttribute пустой параметр - null
    #37973802
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю так во View:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<form:form action="test" method="POST" modelAttribute="test">
            <table>
                <tr>
                    <td><form:input path="id" /></td>
                    <td><form:input path="number" /></td>
                    <td><form:input path="str" /> </td>
                </tr>
                <tr>
                    <td colspan="3"><input type="submit" value="Ok" /> </td>
                </tr>
                
                <tr>
                    <td>${test.id}</td>
                    <td>${test.number}</td>
                    <td>${test.str}</td>
                </tr>
            </table>
        </form:form>



В контроллере:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 @RequestMapping(value="/test",method= RequestMethod.GET)
    public ModelAndView show() {
        Test test = new Test();
        return new ModelAndView("testjsp", "test", test);
    }
    
    @RequestMapping(value="/test",method= RequestMethod.POST)
    public ModelAndView process(@ModelAttribute("test") Test test) {
        System.out.println(test.getId()+"\n");  //вот тут никаких NullPointerException 
        System.out.println(test.getNumber()+"\n"); //при не введении данных, просто id,number & str = null
        System.out.println(test.getStr()+"\n");
        return new ModelAndView("testjsp", "test", test);
    }



Ну и модель
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public class Test implements Serializable {

    private Integer id;
    private Long number;
    private Double str;

    //Getters and Setters
}
...
Рейтинг: 0 / 0
Spring @ModelAttribute пустой параметр - null
    #37974189
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая версия Spring?
...
Рейтинг: 0 / 0
Spring @ModelAttribute пустой параметр - null
    #37974211
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3.0.5 release
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring @ModelAttribute пустой параметр - null
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]