如何从wicket textfield / model获取更新值

时间:2014-11-21 05:07:42

标签: wicket wicket-6

final TextField<Double> regularPrice = new TextField<Double>("regular", new PropertyModel<Double>(listItem.getModel(), "price"))
 {
   private static final long serialVersionUID = 1L;

   @Override
   protected void onConfigure() 
   {
     super.onConfigure();                 
     setEnabled(cashflowStatus.compareTo(CashflowStatus.M_MANUAL) < 0);
   }
 };
 listItem.add(regularPrice);



regularPrice.add(new AjaxFormComponentUpdatingBehavior("onChange")
{
    private static final long serialVersionUID = 1L;

    @Override
    protected void onUpdate(AjaxRequestTarget target)
    {
      Double updatedValue = listItem.getModelObject().getPrice());
    }               
});

我想获得更新的新更新值,但我从模型中获得旧值。不是模型得到更新,它应该给出新的更新值。请告诉我,上面的代码出了什么问题以及如何获得更新的价值?

1 个答案:

答案 0 :(得分:0)

您还应该重新渲染您的组件:)

 @Override
protected void onUpdate(AjaxRequestTarget target)
{
  Double updatedValue = listItem.getModelObject().getPrice());
  target.add(this.getComponent());
}