如何在jsp页面中处理javascript中的单引号?

时间:2012-01-06 12:22:49

标签: javascript jsp quote

onclick= "_deleteWPSchemeData(${viewWPMasterGrid.id}, '${viewWPMasterGrid.name}')"

$ {viewWPMasterGrid.name}向我索引一个字符串(例如W.P.WINT OFF ALL'10),它通常具有单引号字符,所以从调用javascript方法我根本没有得到第二个参数。如何处理问题?

4 个答案:

答案 0 :(得分:2)

当动态String可以放在JavaScript字符串文字中时,它应该是JS转义的。就像动态字符串放在HTML页面中一样,它是HTML转义的。

使用commons-lang StringEscapeUtils.escapeECMAScript(或escapeJavaScript,具体取决于版本)来转义字符串。你可以创建一个非常简单的EL函数来直接从JSP中完成。

请注意,您可能会遇到单引号问题,还有双引号,标签,EOL,反斜杠,这些都必须在JS字符串文字中进行转义。

答案 1 :(得分:1)

看起来您可以先将第二个参数拆分为自己的变量。如果我已正确理解你的问题。

var viewWPMasterGridName = "${viewWPMasterGrid.name}";
onclick = "_deleteWPSchemeData(${viewWPMasterGrid.id},'" + viewWPMasterGridName + "')";

答案 2 :(得分:0)

使用'${viewWPMasterGrid.name.replaceAll("'", "\'")}'

答案 3 :(得分:0)

试试这个,

var name = "${viewWPMasterGrid.name}".replace(/'/g,"\\'");