【问题标题】:How can I set a javascript value into a jslt variable?如何将 javascript 值设置为 jslt 变量?
【发布时间】:2015-01-26 12:43:45
【问题描述】:

我在一个jsp页面中绘制了一个google图表,我想在一个jslt变量中设置一个javascript变量的值(我不确定我能不能做到)

我有这个:

google.visualization.events.addListener(chart, 'ready', function () {
    chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">'; //I want to have chart.getImageURI() in a jslt var for pass it in parameter
    console.log(chart_div.innerHTML);       
});

我想做这样的事情:

<c:set var="var1" value="myUrl"/> //Where myUrl = chart.getImageURI()

我知道 javascript 是由浏览器生成的,所以我认为不可能在我的 jsp 中使用 javascript var,但如果你有一些想法可以帮助我,它应该是完美的!

提前致谢!

【问题讨论】:

  • 了解 Ajax 或表单提交以将数据发送回服务器。

标签: javascript jsp jakarta-ee jstl


【解决方案1】:

您不能这样做,JSTL 在服务器端执行,而 JavaScript 在客户端执行。

另一方面,您应该考虑如何使用该值,如果您在客户端需要它,不需要 JSTL,您已经在 J​​S 中拥有它,您可以编写任何您需要的脚本。

另一方面,如果您需要服务器端的值,则需要发送一个 ajax 请求,并将该值作为参数放置在您的页面可访问的范围内,然后您可以在响应中使用它作为一个 JSTL 变量

在这个问题How to use Servlets and Ajax? 下提供了关于如何在 JAVA 网络中使用 Ajax 的精彩摘要

【讨论】:

  • 好吧,我从来没有使用过 ajax,所以如果你有一些例子,那就完美了:)
  • 虽然有很多在线资料,但我已经更新了一个 SO question 的链接,它提供了很好的摘要。请注意,在答案中的示例中,变量未在 JSTL 中推送,但在浏览完示例后,您可能还会发现您也不需要它。希望对你有帮助
  • 非常感谢,我会检查这个!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-21
  • 2010-11-04
  • 2023-03-24
  • 2021-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多