Wicket JavaScript 没有得到反映
Posted
技术标签:
【中文标题】Wicket JavaScript 没有得到反映【英文标题】:Wicket JavaScript is not getting reflected 【发布时间】:2020-11-05 06:37:24 【问题描述】:我在以下层次结构的检票口页面中遇到了奇怪的行为。
添加了几个抽象选项卡的 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")));
Issue2:但是由于我做了Ajax来在标签之间导航,使用setResponsePage()
刷新页面似乎是一种意想不到的方式。
为了解决问题 1,我显式添加了 jquery,这导致了另一个显式刷新问题。
我是否遗漏了 Issue1 中可以解决问题的任何内容? 或者有没有办法只刷新我的面板?修复问题2
【问题讨论】:
【参考方案1】:为什么要自己贡献 jquery.js?
我不确定这是否是您的问题的原因,但由于 Wicket 还将 jQuery 添加到 DOM 我认为您可能有 Javascript 错误。检查浏览器的 DevTools 控制台。
【讨论】:
谢谢,编辑问题以详细说明我的确切问题以上是关于Wicket JavaScript 没有得到反映的主要内容,如果未能解决你的问题,请参考以下文章
wicket,spring jpa存储库 - @Autowire上的nullpointer
由于 CSRF 攻击,Wicket + websocket 页面不刷新