JSP 페이지에 라디오 버튼이 있습니다.InitBinder 호출/호출되지 않음
<form:form modelAttribute="obj" action="save">
<form:radiobuttons path="person" items="${List}"/>
<form:button>Save</form:button>
</form:form>
목록 : 사람의 목록이 확대 개체 개체 : 그 JSP에서
Class obj{
Person person;
getter/setters
}
을, 나는 특정 라디오 버튼을 선택하면 사람을 추가해야합니다. 내가 JSP에서 사람 개체의 문자열을 얻고 있기 때문에 컨트롤러 측
@RequestMapping(value = "/save", method = RequestMethod.POST)
public String postProcess(@ModelAttribute("obj") Obj obj,BindingResult error) {
//processing
return "anotherJsp";
}
@InitBinder
public void initBinder(WebDataBinder binder, Locale locale, HttpServletRequest request) {
binder.registerCustomEditor(Obj.class,"person", new PropertyEditorSupport() {
@Override
public void setAsText(String text) {
//processing for conversion of person object String to Person Object
setValue(text);
}
});
}
여기에
내가 그래서 내가 사람로 문자열에서 변환 할 수 없습니다 바인딩 예외 을 얻고있다 ... initbinder 사용하고 있습니다.
initBinder의 modelAttribute.Hence에 데이터를 바인딩 할 때 InitBinder가 호출되기 전에 문자열을 Person 객체로 변환합니다.
여기에서 가장 중요한 문제는 My InitBinder가 Not called/Invoked 인 것입니다.. 제게 해결책을주십시오.
감사합니다.
나는 그런 식으로 또한했으나 아직 전화하지 않았다! –
bind.registerCustomEditor (Ob .... 또는 setValue (text))에 중단 점을 넣으려고합니다. – krishnakumarp
메서드에서 void System.Out void setAsText() –