我有一个必须用于传递给 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
关于javascript - 单引号 JSP 到 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11899980/