0

标题中怎么说我几个小时都无法解决这个问题。希望能得到一些有用的回复,谢谢。

检票口版本: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由choice填充,selectedEvalChoice由默认choice填充

在我想选择另一个选择之前,一切都很好。之后 RadioChoice 将 null 保存到 selectedEvalChoice。

那么问题出在哪里,请问有人可以帮忙吗?

顺便说一句,为 selectedEvalChoice 实现了 getter 和 setter,但我了解到这不是必需的。

4

1 回答 1

2

对于 RadioChoice,您必须使用 AjaxForm*Choice*ComponentUpdatingBehavior。

检查你的日志输出,你应该在那里找到一个警告。

于 2013-08-02T12:33:01.780 回答