PropertyModel:如果它的目标模型发生变化怎么办?
PropertyModel: what if it's target model changes?
页面有模型,我做了setDefaultModel()
。我在页面上添加了一个标签:
Label name=new Label("name", new PropertyModel<String>(getDefaultModel(), "name"));
add(name);
稍后,页面的模型发生了变化。但是 属性 模型的目标模型仍然是原始页面的模型。
当目标模型发生变化时,如何保持 属性 模型更新?
通常我建议不要使用 setDefaultModel()
或 setModel()
,正是因为这类问题。
或者您可以添加另一个间接寻址:
new Label("name", new PropertyModel<String>(this, "defaultModel.name"));
... 或使用 Wicket 8:
new Label("name", () -> ((Foo)getDefaultModel()).getName());
页面有模型,我做了setDefaultModel()
。我在页面上添加了一个标签:
Label name=new Label("name", new PropertyModel<String>(getDefaultModel(), "name"));
add(name);
稍后,页面的模型发生了变化。但是 属性 模型的目标模型仍然是原始页面的模型。
当目标模型发生变化时,如何保持 属性 模型更新?
通常我建议不要使用 setDefaultModel()
或 setModel()
,正是因为这类问题。
或者您可以添加另一个间接寻址:
new Label("name", new PropertyModel<String>(this, "defaultModel.name"));
... 或使用 Wicket 8:
new Label("name", () -> ((Foo)getDefaultModel()).getName());