我在以下层次结构的检票口页面中遇到了奇怪的行为。
添加了几个抽象选项卡的 RootPage 和在几个抽象选项卡中,基于用例,我们有 wicket UI Jquery 的 TabbedPanel。像这样http://www.7thweb.net/wicket-jquery-ui/tabs/TabbedPanelPage?2。要在选项卡之间导航,我使用 AjaxTabbedPanel。
问题 1:甚至默认 Jquery 文件也被添加到页面中。但是 UI 组件没有相对于 Jquery 呈现
<script type="text/javascript" src="./wicket/resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-2.2.4-ver-F9EE266EF993962AD59E804AD9DEBE66.js"></script>
<script type="text/javascript" src="./wicket/resource/com.googlecode.wicket.jquery.ui.resource.JQueryUIResourceReference/jquery-ui-ver-0A819924D70A18322660DEE759225D2B.js"></script>
为了克服上述问题,我通过覆盖 RootPage 中的 renderHead 方法添加了 Jquery 文件。仅适用于手动页面刷新。
RootPage.renderHead:
@Override
public void renderHead(IHeaderResponse response){
super.render(response);
response.render(JavaScriptHeaderItem.forReference(new PackageResourceReference(RootPage.class, "jquery.min.js")));
response.render(JavaScriptHeaderItem.forReference(new PackageResourceReference(RootPage.class, "jquery-ui.min.js")));
}
问题 2:但是由于我使用 Ajax 在选项卡之间导航,因此使用刷新页面setResponsePage()
似乎是一种意想不到的方式。
为了解决问题 1,我明确添加了 jquery,这导致了另一个显式刷新问题。
我是否遗漏了Issue1中可以解决问题的任何内容?或者有没有办法只刷新我的面板?修复问题2