【问题标题】:How can i convert java String to javascript string?如何将 java 字符串转换为 javascript 字符串?
【发布时间】:2012-02-27 08:05:42
【问题描述】:

我使用了这些代码,但在文档中没有看到任何内容

            <%String movie_name ="Matrix"; %>
            <script type="text/javascript">
                var movie_name="";
                movie_name= <%= movie_name%>;
                document.write(movie_name);
            </script>

所以任何人都可以帮助我将 java 字符串转换为 javascript 字符串?

【问题讨论】:

  • 是JSP页面吗?您是设置request.setAttribute("movie_name", "The Matrix") 还是参数名称movie_name?你读过这个tutorial。虽然没有投反对票。
  • 哦对不起,我真的不是故意让你难堪。这个问题看起来可以通过更多阅读 JSP 规范或教程来解决。

标签: java javascript jsp


【解决方案1】:

这可能会做到(缺少引号):

movie_name="<%= movie_name%>"

同时查看您的示例代码,您可以将其完全替换为:

<%= movie_name%>

最后考虑使用

【讨论】:

  • 仅在非常有限的情况下,仅引用就足够了。
  • @T.J.Crowder:你担心逃跑吗?这就是我提到 JSTL 的原因,例如&lt;c:out value="${movie_name}" escapeXml="true" /&gt;.
  • 是的。仅显示将其放在引号中会导致 OP 走上一条在某些时候绊倒他的道路。是的,我正要补充一点,展示一个如何正确使用 JSTL 的示例比仅仅说“使用 JSTL”更有帮助。我会把它放在答案中。 (escapeXml 真的 是输出 JavaScript 字符串文字的正确方法吗?)
【解决方案2】:

您需要将输出用引号括起来(我假设这是 JSP?)

movie_name = "<%= movie_name %>";

看,当它被写出时,浏览器会尝试解释它,所以如果没有引号,你最终会得到看起来像......

movie_name = Men In Black;

由于这显然是一个巨大的语法失败,浏览器只是退出尝试并静默失败(尽管您应该看到它不喜欢的日志)。

当您将输出用引号括起来时,所有内容都会到位但是,请确保在打印时将 java 字符串中的任何 " 转换为 \",否则您将遇到更多同样的麻烦。

但是,正如其他答案所暗示的那样,您在这里重新发明了轮子,应该按照 Nishant 的建议按照规定的方式进行操作。

【讨论】:

  • 仅在非常有限的情况下,仅引用就足够了。
猜你喜欢
  • 2016-04-21
  • 1970-01-01
  • 1970-01-01
  • 2015-02-18
  • 2023-03-17
  • 1970-01-01
  • 2022-01-23
  • 2021-01-06
  • 1970-01-01
相关资源
最近更新 更多