Wicket PropertyModel:如果它';s的目标模式发生了变化?

Wicket PropertyModel:如果它';s的目标模式发生了变化?,wicket,Wicket,页面有一个模型,我已经完成了setDefaultModel()。我在页面中添加了一个标签: Label name=new Label("name", new PropertyModel<String>(getDefaultModel(), "name")); add(name); Label name=新标签(“名称”,新属性模型(getDefaultModel(),“名称”); 加上(姓名); 稍后,页面的模型将更改。但是属性模型的目标模型仍然是原始页面的模型 当目标模型发生更

页面有一个模型,我已经完成了
setDefaultModel()
。我在页面中添加了一个标签:

Label name=new Label("name", new PropertyModel<String>(getDefaultModel(), "name"));
add(name);
Label name=新标签(“名称”,新属性模型(getDefaultModel(),“名称”);
加上(姓名);
稍后,页面的模型将更改。但是属性模型的目标模型仍然是原始页面的模型


当目标模型发生更改时,如何保持属性模型的更新?

通常我建议不要使用
setDefaultModel()
setModel()
,正是因为这类问题

或者,您可以添加另一个间接寻址:

new Label("name", new PropertyModel<String>(this, "defaultModel.name"));

通常我建议不要使用
setDefaultModel()
setModel()
,正是因为这类问题

或者,您可以添加另一个间接寻址:

new Label("name", new PropertyModel<String>(this, "defaultModel.name"));

新的PropertyModel(这个“defaultModelObject.name”)可以正常工作。现在我明白了。不同之处在于查找从何处开始。在
新建PropertyModel(getDefaultModel(),“name”
)的情况下,模型从目标模型开始,目标模型不变。在
新建PropertyModel(此“defaultModelObject.name”)的情况下,模型从页面开始,向下运行,遇到已更改的
defaultModel`,“defaultModelObject.name”)有效。现在我明白了。区别在于查找从何处开始。对于
新的PropertyModel(getDefaultModel(),“name”
,模型从目标模型开始,目标模型不会改变。对于
PropertyModel(此“defaultModelObject.name”),模型从页面开始向下运行,遇到已更改的
defaultModel`。