我目前在使用AJAX的Wicket项目时遇到了一些麻烦。
问题发生在具有WebPage
的{{1}}组件上,并使用AJAX进行更新。
其中Panel
是一个也使用Panel
的表格。
在某些操作中,页面会更改Panel存储的AjaxPagingNavigator
,而{I}应该用于使用AJAX更新表格。
这在开发模式下工作正常,但是一旦我将应用程序切换到部署,该表就不再更新,如果我尝试然后使用Paging Navigator,我会看到一个“拒绝访问”页面我看到桌子正在建造一会儿。 我实际上没有启用任何特殊的授权设置。
如果我单独使用Paging Navigator,它可以正常工作,只有跨组件请求似乎会导致问题。
有谁知道导致这种情况的原因以及如何解决这个问题?
编辑:面板本身添加如
Model
进一步向下是实际调用的 listPanel = new DBListPanel("dbList", selectionModel /*this is a simple Model<String> that decides where the panel receives its data from in the DB*/);
add(listPanel);
:
AjaxButton
这是Panel的构造函数的摘录
Form<String> selectDB = new Form<String>("selectDB");
add(selectDB);
selectDB.add(new AjaxButton("submit", selectDB) {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
listPanel.selectionChanged(); //make the Panel pull a fresh set of data from the DB
target.add(listPanel);
}
});