2012-05-09 32 views
0

我正在Google日历api上工作。每当我创建任何事件并输入具有新行的那个事件的描述时。它给我错误,如“未终止的字符串常量”。我正在从Java事件描述传递给JavaScript.So如何格式化具有新行的字符串?未终止的字符串在JavaScript中的常量错误

我的代码是

var EventDescription='<% =eventDetails.getEventDescription(eventIndex)%>' 

    eventDetails -java class 
    getEventDEscription -Method to get the Description of event. 
    eventIndex - no of the event whoes Description is needed . 

可以正常工作,否则。只有是一种具有新的生产线时,给错误。

+0

向我们显示您的代码。 –

+0

您可能与java中的html/javascript生成代码中的引号不匹配。没有代码,就不可能精确地指出它。 –

回答

5

试着将自己想象成JSP容器,然后作为JavaScript解释器。或者只需查看生成的HTML页面的源代码。

线

var EventDescription='<% =eventDetails.getEventDescription(eventIndex)%>' 

由JSP容器解释。因此eventDetails.getEventDescription(eventIndex)被执行,并且这个方法调用的结果被放入响应中。假设结果是由两条线:

line 1 
line 2 

所以生成的JavaScript代码是:

var EventDescription='line1 
line 2' 

这是无效的JavaScript代码。正确的JavaScript代码将是

var EventDescription='line1\nline 2' 

因此,您需要将JavaScript方法调用的结果放入响应之前进行JavaScript转义。看看Apache commons-lang StringEscapeUtils.escapeEcmaScript()的方法。

+0

不错的解释。谢谢 – iRunner

相关问题