使用Javascript和JSP时出错,带空格的字符串给出“未终止的字符串文字”`
我必须从JSP页面向JavaScript传递一个字符串值。使用Javascript和JSP时出错,带空格的字符串给出“未终止的字符串文字”`,javascript,jquery,Javascript,Jquery,我必须从JSP页面向JavaScript传递一个字符串值。 我正在使用 display("<%=name%>") 显示(“”) 它工作得很好,但是当我有像'sweetmilk'这样的字符串时,JavaScript抛出错误 未终止字符串文字 如何解决这个问题?我猜生成的JavaScript代码中有一个错误。有没有办法看看你的网页?我建议查看该页面生成的源代码。我猜生成的JavaScript代码中有错误。有没有办法看看你的网页?我建议查看该页面生成的源代码。您的字符串包含单引号-您可
我正在使用
display("<%=name%>")
显示(“”)
它工作得很好,但是当我有像'sweetmilk'
这样的字符串时,JavaScript抛出错误
未终止字符串文字
如何解决这个问题?我猜生成的JavaScript代码中有一个错误。有没有办法看看你的网页?我建议查看该页面生成的源代码。我猜生成的JavaScript代码中有错误。有没有办法看看你的网页?我建议查看该页面生成的源代码。您的字符串包含单引号-您可以将单引号转义为“\x27”,将双引号转义为“\x22”,然后将其传递给javascript。您的字符串包含单引号-您可以将单引号转义为“\x27”,将双引号转义为“\x22”然后将其传递给javascript。您的字符串中可能有应在javascript中转义的字符。例如,如果您的字符串是
我的名字是“John”
,您的代码将生成
var a = "My name is "John"";
这是无效的
您应该使用commons lang中的StringEscapeUtils.escapeJavaScript来确保所有内容都正确转义(单引号和双引号、换行符、制表符等)。您的字符串中可能有一些字符应该在Javascript中转义。例如,如果您的字符串是
我的名字是“John”
,您的代码将生成
var a = "My name is "John"";
这是无效的
您应该使用commons lang中的StringEscapeUtils.escapeJavaScript来确保所有内容都正确转义(单引号和双引号、换行符、制表符等)。请显示完整的代码块。可能最好发布部分代码请显示完整的代码块。可能最好将部分代码发布到传递此信息的位置,你能解释一下吗?你可以做一个字符串替换,用\x27替换单引号,用\x22替换双引号,这个修改后的字符串就是你的
名称
显示值。由于您使用Java服务器端,我建议您使用StringEscapeUtils.escapeJavaScript
,尽管@JB建议您在此处传递此信息,您可以解释一下吗?您可以进行字符串替换,将单引号替换为\x27,将双引号替换为\x22,此修改后的字符串就是您的名称
显示值。由于您使用Java服务器端,我建议您使用StringEscapeUtils.escapeJavaScript
,尽管@JB Nizet建议这样做