У меня есть объект команды, который представляет отправленный объект формы.Если значение из поля ввода формы пустое, я хочу, чтобы оно было null
в объекте команды.
Я прочитал другой ТАК вопрос , который показал использование InitBinder
Я сделал это, но метод initBinder
никогда не вызывается.
Мой контроллер
package com.example;
import org.springframework.beans.propertyeditors.StringTrimmerEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import com.example.MyDTO;
@Controller
public class MyControllerImpl implements MyController {
@InitBinder("myControllerImpl")
public void initBinder(WebDataBinder binder) {
System.out.println("init binder");
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
@Override
public String someAction( MyDTO someDTO ) {
System.out.println(someDTO);
// Do something with DTO. I want blank values to be null here
return "somePage;
}
}
DTO
package com.example;
public class MyDTO {
private String name;
public String getName() {
return name;
}
public String setName() {
return name;
}
}
Я также пытался добавить имя класса к аннотации InitBinder
@InitBinder("myControllerImpl")
, но это не помоглоне работает.
Чего мне не хватает, чтобы вызвать привязку инициализации?
Я использую Java 6 и Spring 3