在 onUpdate 事件上更新 Wicket 文本字段

Update Wicket Text Field on onUpdate event

我有一个扩展 TextField 的组件,用户可以在其中键入网址。我希望在用户键入某些内容(例如 www.example.org)后将该值更改为其他值(例如 http://www.example.org

我试过这个:

urlField = new TextFieldIndicatingError<String>("url", new PropertyModel<String>(this, "url"));
urlField.add(new AjaxFormComponentUpdatingBehavior("onblur") {
                     @Override
                     protected void onUpdate(AjaxRequestTarget target) 
                     {
                         //url = "ABCDDEE";
                         urlField.getModel().setObject("AAAA");
                     }
                 });

但是 onUpdate() 中的任何内容似乎都不会影响 TextField 的值。 我在这里做错了什么?

您需要在设置新模型后使用target.add(urlField)在客户端更新它。