2013-08-02 79 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

这应该被标记为正确的回答。 –