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:通过 Javascript 更新文本字段

wicket,spring jpa存储库 - @Autowire上的nullpointer

由于 CSRF 攻击,Wicket + websocket 页面不刷新

为啥在函数中使用已发布变量的更新值没有得到反映?

有没有办法从 javascript 类声明中反映公共实例类字段?

嗨,我目前正在将 wicket 应用程序从 1.5.3 升级到 6.30.0,但是我收到错误并且登录页面没有被实例化