Wicket AjaxFallbackLink 行为
Wicket AjaxFallbackLink behaviour
我将 AjaxFallbackLink 组件用于 Ajax link。当我将鼠标悬停在 link 上时,URL 看起来类似于 ./myPage?1-1.ILinkListener-xxx。但是,当我实际单击 link 时,Ajax 请求看起来像:./myPage?1-1.IBehaviorListener-xxx.
Wicket JavaScript 似乎以某种方式将 URL 从 ILinkListener 更改为 IBehaviorListener。不知道是不是这样,为什么会这样?
有时在某些情况下URL中的ILinkListener在浏览器发出请求时没有更改为IBehaviorListener,导致NullPointerException因为参数Ajax回调函数中的RequestTarget target为null .我无法重现这一点。只是想知道什么浏览器设置会导致这种情况发生。非常感谢。
这两个 URL 都是正确的。
第一个静态link地址'./myPage?1-1.ILinkListener-xxx.'是 link 的通用 link 地址,以防它调用 URL 并处理 link.
第二个AJAXlink地址'./myPage?1-1.IBehaviorListener-xxx'是通用的JavaScript/AJAX 行为。如果 JavaScript 正在工作,JavaScript 将作为 onclick 事件附加(请参阅 https://api.jquery.com/click/ 处的 jQuery click() 函数)并处理 link ,那么它不应该继续处理来自 HREF 属性的 URL。
到目前为止,您可能希望在单击 link 时仅请求其中一个 URL。但是在没有 AJAX 的 AjaxFallbackLink 的情况下,onClick(AjaxRequestTarget) 被调用为 onClick(null),如果你依赖现有的 AjaxRequestTarget 对象,它会导致 NPE,但不能保证。
你问题的最后一部分不清楚什么时候无法重现。但是Wicket使用jQuery,如果你把jQuery库添加到HTML,可能会有版本冲突。
中有关于类似问题的更多详细信息
我将 AjaxFallbackLink 组件用于 Ajax link。当我将鼠标悬停在 link 上时,URL 看起来类似于 ./myPage?1-1.ILinkListener-xxx。但是,当我实际单击 link 时,Ajax 请求看起来像:./myPage?1-1.IBehaviorListener-xxx.
Wicket JavaScript 似乎以某种方式将 URL 从 ILinkListener 更改为 IBehaviorListener。不知道是不是这样,为什么会这样?
有时在某些情况下URL中的ILinkListener在浏览器发出请求时没有更改为IBehaviorListener,导致NullPointerException因为参数Ajax回调函数中的RequestTarget target为null .我无法重现这一点。只是想知道什么浏览器设置会导致这种情况发生。非常感谢。
这两个 URL 都是正确的。
第一个静态link地址'./myPage?1-1.ILinkListener-xxx.'是 link 的通用 link 地址,以防它调用 URL 并处理 link.
第二个AJAXlink地址'./myPage?1-1.IBehaviorListener-xxx'是通用的JavaScript/AJAX 行为。如果 JavaScript 正在工作,JavaScript 将作为 onclick 事件附加(请参阅 https://api.jquery.com/click/ 处的 jQuery click() 函数)并处理 link ,那么它不应该继续处理来自 HREF 属性的 URL。
到目前为止,您可能希望在单击 link 时仅请求其中一个 URL。但是在没有 AJAX 的 AjaxFallbackLink 的情况下,onClick(AjaxRequestTarget) 被调用为 onClick(null),如果你依赖现有的 AjaxRequestTarget 对象,它会导致 NPE,但不能保证。
你问题的最后一部分不清楚什么时候无法重现。但是Wicket使用jQuery,如果你把jQuery库添加到HTML,可能会有版本冲突。
中有关于类似问题的更多详细信息