在我的 Wicket 网页中,我有一个 WebMarkupContainer ,其中包含ListView
:
notifications = new ArrayList<Notification>(...);
ListView listView = new ListView("notification", notifications) {
@Override
protected void populateItem(ListItem item) {
...
}
};
container = new WebMarkupContainer("container");
container.setOutputMarkupId(true);
container.add(listView);
this.add(container);
这WebMarkupContainer
是为了让我动态更新在屏幕上显示给用户的项目列表。当用户单击链接或将容器添加到传入时,这是可能的AjaxRequestTarget
。
现在我需要在没有 Ajax 请求的情况下更新列表:
public void refresh() {
List<Notification> newNotifications = ...
notifications.addAll(0, newNotifications);
}
此方法在运行时环境中调用,通知列表是我网页的私有字段(与上一个代码相同),将包含新对象。我希望将这些新项目显示给用户。是否可以更新(或重新渲染)容器?
我是 Wicket 的新手,所以如果您有更好的方法来获得相同的结果,如果您能与我分享,我将不胜感激。