【问题标题】:How to pass value from Javascript to Wicket?如何将值从 Javascript 传递到 Wicket?
【发布时间】:2017-05-31 14:26:02
【问题描述】:

我有 Javascript 方法,它在客户端执行一些业务逻辑并返回一个值。 现在我在检票口页面中需要这个值。 解决此问题的最佳方法是什么?

P.S.我正在使用 Wicket 7。

【问题讨论】:

  • 您能否提供有关您的方案的更多详细信息?是否从 Wicket 页面调用了 JavaScript,您希望如何使用返回值?
  • @AndreaDelBene 我有一个在客户端浏览器上运行并收集一些信息的 Javascript,我希望将该信息传递到 Wicket 页面,以便我可以对这些数据进行进一步处理。
  • 您需要这些数据来呈现页面吗?

标签: javascript java wicket wicket-7


【解决方案1】:

您可以编写一个 AbstractAjaxBehaviour 来调用您的 javascript 函数并使用 ajax 将其传递回 callbackUrl

更多详情请参见the answer here

respond(AjaxRequestTarget target) 中,您可以更新页面中需要更新的任何组件。

例如,您可以运行一个通过 Javascript 测试 WebGL 支持的行为,通过Behavior 将其传递回Page,并使用该值替换占位符或备用Panel 与花哨的WebGL版本。

【讨论】:

    【解决方案2】:

    Wicket 组件在服务器端呈现,因此您无法在页面呈现后从 JavaScript 访问它们。

    如果您想向服务器发送一些数据,只需使用 Ajax 请求或提交表单即可。

    【讨论】:

    • Wickets 链接和行为向浏览器公开信息以检测用户点击的位置等,因此从这个意义上说,您确实可以访问它们。
    【解决方案3】:

    您可以考虑使用custom resource。使用 JavaScript 收集用户数据后,您可以通过 ajax 将它们发送到安装在 specific path 的自定义资源。可以在自定义资源中完成额外的数据处理,您可以在 ajax 请求完成后显示结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-10
      • 1970-01-01
      • 2019-11-24
      • 2016-06-04
      • 2015-09-19
      • 2023-03-09
      • 2013-10-26
      • 1970-01-01
      相关资源
      最近更新 更多