2013-08-02 119 views
0

標題中如何說我無法解決這個問題幾個小時。我希望我會收到一些有用的回覆,謝謝。Wicket RadioChoice始終返回null

檢票版本:1.5.7

public class EvalSearcherPage extends MenuPage { 
    ... 
    private Code selectedEvalChoice; 
    ... 

    ... 
    RadioChoice<Code> evalRadioChoice = new RadioChoice<Code>("evalRadioChoice", new PropertyModel<Code>(this, "selectedEvalChoice"), EVAL_CHOICES, new ChoiceRenderer<Code>(getLocaleColumn())); 
    evalRadioChoice.add(new AjaxFormComponentUpdatingBehavior("onchange") { 

     private static final long serialVersionUID = 1L; 


     @Override 
     protected void onUpdate(AjaxRequestTarget target) { 
       ... 
      target.add(...); 
     } 
    }); 
    evalChoiceForm.add(evalRadioChoice); 
      ... 

在構造函數: EVAL_CHOICES被選擇填充, selectedEvalChoice默認情況下,選擇充滿

一切工作良好,直到那一刻,我想選擇另一選擇。之後,RadioChoice將null保存爲selectedEvalChoice。

那麼問題出在哪裏,請問有人可以幫忙嗎?

btw getter和setter是爲selectedEvalChoice實現的,但我知道這不是必需的。

+0

嘗試使用'OnChangeAjaxBehavior'代替:http://ci.apache.org/projects/wicket/apidocs/6.0.x/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.html –

回答

2

對於RadioChoice,您必須使用AjaxForm * Choice * ComponentUpdatingBehavior。

檢查您的日誌輸出,您應該在那裏發現警告。

+0

這應該被標記爲正確的回答。 –