Im DropDownChoice에 문제가 있습니다. 내가 대학 등의 문자열 proprerty 호출 내가 초등학교의 코드 (예 : 1을 넣고 싶다 "studyTitleCode", 2와 뽀조이 다음Wicket - 열거 형에서 기본형으로의 DropDownChoice
public enum StudyTitle {
NONE(null,null),ELEMENTARY("1","Elementary"),COLLEGE("2","College");
private String code;
private String description;
private StudyTitle(String code, String description){
setCode(code);
setDescription(description);
}
[setter and getter]
}
: 내가 좋아하는 학교 타이틀의 목록을 열거 있습니다 ...).
DropDownChoice를 만들 때 Wicket을 사용하면 DropDownChoice 유형이 StudyTitle 인 경우 String 유형의 proprerty 모델을 가질 수 없습니다.
Ex. [열거 형의 ArrayList를로 listOfStudyTitle을 구축]
DropDownChoice<String> studyLevel = new DropDownChoice<String>("id",new PropertyModel<String>(myPojo,"studyTitleCode"),listOfStudyTitle,new ChoiceRenderer<StudyTitle>("description","code"));
은 개찰구이 모델의 속성에 열거 한 속성을 연결할 수 있도록하는 방법이 있습니까?
감사
귀하의 솔루션은 좋다하지만 난 얻기 원하는 문자열이 다른 :
하나의 옵션은 대신 당신의 선택 모델에 대한 열거 인스턴스 자체를 사용하는 열거를 사용할 수있는 문자열 속성을 부여 할 것 내가 보여주고 싶은 문자열에서. 내 Enum과 함께 사용자가 "description"속성을보고 싶지만 "code"를 모델 내부의 값으로 사용하고 싶습니다. – MrMime
모델의 값을 일부 표시 값으로 변경해야하는 경우 DropDownChoice # setChoiceRenderer (IChoiceRenderer)를 사용할 수 있습니다. IChoiceRenderer에는 getDisplayValue (T)라는 추상 메서드가 있습니다.이 메서드는 매개 변수로 모델 값만 받아들입니다. 거기에서 표시 값에 대한 enum을 쿼리하십시오. –