如何从子面板访问wicket页面表单模型

如何从子面板访问wicket页面表单模型,wicket,Wicket,这是层次结构 父网页包含面板。网页有一个表单 add(this.form=newform(“form”,newcompoundPropertyModel(newLoginUserModel(用户))){ @凌驾 受保护的void onSubmit(){ ... } 现在在面板中,我需要从表单更新中获取更新的登录用户。在面板中,我试图通过((UserPage)getPage()).getForm().getModelObject(); 但是,它没有给出更新后的logiuser值 请提供有关如何访

这是层次结构

父网页包含面板。网页有一个表单

add(this.form=newform(“form”,newcompoundPropertyModel(newLoginUserModel(用户))){
@凌驾
受保护的void onSubmit(){
...
}
现在在面板中,我需要从表单更新中获取更新的登录用户。在面板中,我试图通过
((UserPage)getPage()).getForm().getModelObject();
但是,它没有给出更新后的
logiuser


请提供有关如何访问面板中父网页的表单模型的输入。

只需将模型或模型对象传递到面板的构造函数中,并将其存储在面板的一个成员中。由于它与支持表单的对象完全相同,因此它将包含相同的更新值。

谢谢您的快速回复ponse.在这种情况下,我应该传递CompoundPropertyModel还是LoginUserModel。虽然不应该很重要,但我想提及LoginUserModel从LoadableDetachableModel扩展而来。还有一些表示propertyfields的memeber字段,如:private String email;container.add(new TextField(“email”),new PropertyModel(这个,“email”)。现在我甚至无法从面板中获取这个memeber变量的更新值,比如String email=((UserPage)getPage()).getEmail();。我确实看到页面的表单提交中更新了值。很抱歉,如果我问的是基本问题,但我正在学习wicketNicktar-请回答。当我将LoginUserModel传递给面板构造函数时,临时对象在Pnael初始化期间存在,但是在面板中提交时,LoginUserModel中的transientobject为null。我已经将PagePanel(..,final IModel smodel)这样的面板构造函数传递给了我。请从here@user1521828请不要着急。在Wicket中,您提供了一个模型(由对象支持)到窗体或字段。Wicket负责更新模型值。因此,只要该对象是同一个实例,从何处访问该对象并不重要。至于哪个对象…Wicket透明地处理包装的模型,因此基本上也不重要,但基于我的个人偏好,我会使用LoginUserModel。如果模型是“未更新,您的代码中一定有奇怪的内容。能否将onSubmit方法添加到问题中?”?