在JSP中转义字符串变量中的单引号

时间:2012-11-14 16:43:00

标签: java jsp double-quotes

我们决定不再为我们的代码设置严格的引用转义为false,但在我们开始之前,我们正在修复所有JSP严格引用转义问题。

通常我们在引号内有一行引号,最简单的解决方法是将外引号设为单引号而不是双引号。我今天偶然发现了这一部分:

url="<%= "javascript:deleteFromHistory('" + personStatus.getId() + "');" %>"

在外部粘贴单引号不起作用,因为双引号内部有双引号内的单引号。

所以我试着将内部引用的内容粘贴到一个字符串变量中并使用它,它似乎编译得很好,但是因为我不确定这个页面出现在我们的产品中哪里以及我对如何测试的知识有限这个东西,我不确定这个解决方案是否真的有效,或者是否需要对字符串变量中的单引号进行转义。

String link = "javascript:deleteFromHistory('" + personStatus.getId() + "');";
....
....
<td....><ia:btn.... url ="<%=link%>"....

此解决方案是否有效,如果没有,那么处理此问题的方法是什么?

我不想假设我做得对,因为它已编译。

1 个答案:

答案 0 :(得分:0)

我还能在我可以测试的页面上找到另一个这样的例子。问题中提供的解决方案适用于JSP中的三重引用问题。