2012-02-27 156 views
1

我使用这些代码,但没有看到文件我如何将java字符串转换为javascript字符串?

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

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

+1

是否是JSP页面?您是否设置了'request.setAttribute(“电影名称“,”矩阵“)或参数名称'movie_name'?您是否阅读过[教程](http://agile.csc.ncsu.edu/SEMaterials/tutorials/jsp/jsp_tutorial.html)。 downvote虽然。 – Nishant 2012-02-27 08:08:43

+0

哦对不起,我真的没有意味着让你难堪。这个问题看起来好像可以通过阅读更多的JSP规范或教程来解决。 – Nishant 2012-02-27 08:29:18

回答

5

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

movie_name="<%= movie_name%>" 

而且看你的示例代码,您可以在完全替换为:

<%= movie_name%> 

最后考虑使用

+1

仅在**非常有限的一些情况下,报价本身就足够了。 – 2012-02-27 08:10:59

+0

@ T.J.Crowder:你关心逃跑吗?这就是为什么我提到有关JSTL的原因,例如''。 – 2012-02-27 08:15:00

+2

是的。只要把它放在引号中,就可以让OP走上一条**,让**在某个时刻绊倒他。是的,我只是补充说明如何正确使用JSTL来做一个例子比仅仅说“使用JSTL”更有帮助。我会在答案中提出这个问题。 (是'escapeXml' **真**是输出JavaScript字符串的正确方法吗?) – 2012-02-27 08:17:08

2

你需要用你的输出在引号(我假设这是JSP?)

movie_name = "<%= movie_name %>"; 

看到的,当这样写出来的浏览器尝试解释它,所以不带引号你风与一些看起来像...

movie_name = Men In Black; 

因为这显然是一个巨大的语法失败,浏览器只是退出尝试,静静地失败(虽然你应该看到的日志什么不喜欢)。

当你用引号括输出那么一切都属于地方但是,请务必将任何“在你的java字符串\"当你打印出来,或者你有更多的相同的麻烦。

然而,正如其他答案所建议的那样,您正在重新发明这个轮子,并且应该按照Nishant的建议按照规定的方式来执行此操作。

+1

只有在**非常有限的情况下,引用才是足够的。 – 2012-02-27 08:11:15

相关问题