2014-11-15 10 views
1

wicket 양식에는 DropDownChoice가 있으며 선택한 값을 가져오고 싶습니다.Wicket DropDownChoice에서 선택된 값을 얻는 방법?

private final List<DimSpecific> specificList; 
private DimSpecific specificPtr = null; 
... 
specificList = roles.getSpecificList(); 
specificPtr = new DimSpecific(); 
DropDownChoice specific = new DropDownChoice("specific", new Model<>(specificPtr), specificList, new ChoiceRenderer<DimSpecific>("code", "id")); 
Form form = new Form("frm_0_07"){ 
    @Override 
    protected void onSubmit() { 
     String specificSelected = specificPtr.getCode(); 
    } 
} 

을 그리고 변수 specificSelectednull 같음 : 나는있다. 내가 선택한 가치를 얻는 방법?

답변

0

양식에 DropdownChoice를 추가 했습니까?

전달한 모델 객체가 업데이트되며 객체 자체는 업데이트되지 않습니다. 귀하의 경우 그것은 할당되지 않은 변수 (새 모델 <> (specificPtr))이므로 읽을 수 없습니다.

이 시도 :

private final List<DimSpecific> specificList; 
private DimSpecific specificPtr = new DimSpecific(); // or init to some default value 
private IModel<DimSpecific> dropdownModel = new PropertyModel<DimSpecific>(this, "specficicPtr"); 
... 
specificList = roles.getSpecificList(); 
DropDownChoice specific = new DropDownChoice("specific", dropdownModel , specificList, new ChoiceRenderer<DimSpecific>("code", "id")); 
Form form = new Form("frm_0_07"){ 
    @Override 
    protected void onSubmit() { 
     String specificSelected = dropdownModel.getObject(); 
    } 
} 

이 또한 선택된 값으로 specificPtr 동일 할 것 - specificPtr에 - 이유는 PropertyModel 제출에 선택한 드롭 다운에 대한 setObject를 할 수있는 dropdownchoice()를 알 수 있다는 것입니다.