【问题标题】:is it possible to use a java array in javascript function?是否可以在 javascript 函数中使用 java 数组?
【发布时间】:2014-03-28 12:11:27
【问题描述】:

我试图将字符串数组从 java servlet 传递到 jsp 文件。 现在,我想在同一个 jsp 文件中的 javascript 函数中使用该数组。 这可能吗?

【问题讨论】:

  • 不是直接的。 JSP 是一种服务器端技术。 Javascript 是一种客户端技术。

标签: java javascript jsp servlets model-view-controller


【解决方案1】:

您必须首先对其进行序列化(JSON 格式可能是最简单的),然后在 javascript 中对其进行反序列化,以便能够将其用作数组。

【讨论】:

  • 如果它被序列化为 JSON,它可以被 直接 放到 JavaScript 代码中并按原样使用。 JavaScript 解析器会解析它。
  • 您可能仍希望使用 JSON.parse() 而不是将 直接放入 Javascript 源代码(取决于 的来源)以便能够捕获 JSON 解码例外情况并防范潜在的安全问题。
  • @JoshLiptzin:在这种情况下,数组数据显然来自受信任的来源。
【解决方案2】:

是的,您需要先将数组转换为 JSON,然后让您的 JavaScript 函数解析该 JSON。那时它可以将其作为标准 JS 数组使用(因为在那时,它是)。

编辑 - 我并不是要暗示JSON 是绝对需要的,也不是唯一可能的解决方案。这只是一种选择,在我看来,这可能是您想要完成的最好和最简单的选择。

【讨论】:

  • 它没有是 JSON,它只需要是有效的 JavaScript。但从根本上说,是的。
  • .... 并且不需要额外的解析 - JavaScript 解析器会完成这项工作,代码将有一个现成的原生 JavaScript 数组。
  • @T.J.Crowder 对于比使用 JSON 更好的方法,您有什么建议?因为我完全同意,但我想不出比使用 JSON 更好/更容易/更有效的方法。如果可以,请提供答案。如果没有,我认为学究式的挑剔在这里真的没有帮助。无意冒犯。
  • @Pointy “JavaScript 解析器将完成这项工作” - “附加解析”
  • @Madbreaks 是的,我不反对你。我见过涉及序列化为 JSON 的内容,然后进行字符串转义并放入 JavaScript 字符串的代码。这就是我们在这个陷入困境的世界中需要避免的那种疯狂的事情:)
猜你喜欢
  • 2020-06-06
  • 2013-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多