我在面板内使用数据表,面板设置为每60秒自动刷新一次。有时候,面板似乎会拉出未传递给Object的值。我正在使用PropertyColumn将列添加到数据表中。有没有办法在wicket或数据表中专门禁用缓存
我有一个返回联系人列表的网络服务。此列表将传递到下面的所有面板
在LoadContactPanel中 新的ContactPanel(ViewPanel.getContentPanelId(),getContactListModel());
public IModel<List<Contact>> getContactListModel() {
List<Contact> listofmodels = //get list from a webservice call
return new ListModel<>(listofmodels);
}
在ContactPanel中,我加载了另一个名为AccordianPanel的面板
AccordianPanel包含一个RepeatingView
每个RepeatingView都是一个面板,在面板中,我添加了一个DefaultDataTable
DefaultDataTable的源代码是ContactDataProvider,它扩展了SortableDataProvider
这是ContactDataProvider
中模型方法的代码@Override
public IModel<Contact> model(final Contact object) {
return new AbstractReadOnlyModel() {
private static final long serialVersionUID = 1L;
@Override
public Object getObject() {
return object;
}
};
}
在这种情况下,应该转换为LoadableDetachableModel。从Web服务或ContactDataProvider
中返回的那个答案 0 :(得分:1)
也许您正在从存储在内存中的模型中加载数据。每次呈现组件时,都应使用LoadableDetachableModel
加载数据。由于您提供的细节太少,不确定它是否回答了您的问题,请显示一些代码。