2012-06-13 10 views
1

안녕하세요 모두 내가 곱하기 목록 상자에서받은 값을 일치시키기 위해 initbinder 주석을 사용하려고합니다. 목록 상자의 값은 문자열 값입니다. 처음에는 다음과 같이했습니다. 그냥 단 하나의 선택과 일치하는 방식으로 (나는 곱셈 선택을 아직 추가하지 않았다) 완벽하게 잘 작동한다. 난이있는 제어기에서Initbinder 문자열 목록

: 코드는 다음과 같다 successful.But 난 예외를 고려하지 않는 i가 상기 research_area 값의 결합을 볼 수 debuging에서

@InitBinder 
public void initBinderResearch(WebDataBinder b) { 

    b.registerCustomEditor(Research.class, new ResearchEditor()); 

} 

하지 않거나 누구든지 내가 뭘 잘못하고 있고 이것이 작동하지 않는지 말해 줄 수 있니?

답변

2

PropertyEditor.setAsText(List<String> text)은 부모 클래스에없고, WebDataBinder은이 방법을 사용하여 문자열을 개체로 변환하지 않으므로 무시할 수 없습니다.

원래 을 등록하고 Research 유형의 속성을 보조 양식 모델의 List<Research> 유형으로 변경하면 WebDataBinder가 해당 속성을 변환합니다.

+0

이렇게 바꾸려면 다음과 같이하십시오. b.registerCustomEditor (List , 새 ResearchEditor()); ? –

+0

아니요, 당신이 뒷받침 양식 모델의 * 유형 *을 변경하기 만하면됩니다. 웹 데이터 바인더는 문자열 -> 목록 -> 목록 변환을 수행합니다. –

+0

다시 보내 드려 죄송합니다. 어떻게 할 수 있는지 이해할 수 없습니다. 제발 내가 제공 한 코드를 보았습니까? –