我有一个必须用于传递给JavaScript函数的字符串。我已经尝试了很多方法,但是仍然无法使它起作用。
<a href="javascript:goFac('<%=name%>')"><%=name%></a>
名称字段是一个包含单引号的字符串,例如It's Morning。我尝试使用:
String nameString = rs.getString("name");
nameString = nameString.replaceAll("'","\'");
<a href="javascript:goFac('<%=nameString %>')"><%=nameString%></a>
并且
nameString = URLEncoder.encode(nameString);
并且
nameString = nameString.replaceAll("'","'");
并且
nameString = nameString.replaceAll("'","'");
我仍然无法正常工作。而且我也不能去EL。
最佳答案
如果要用Java代码中的JavaScript转义(反斜杠)单引号(\')替换字符串中的单引号('),则需要转义反斜杠字符(带有反斜杠!)。例如:
nameString = nameString.replaceAll("'","\\'");
另请参阅:String.replaceAll single backslashes with double backslashes