javascript - 单引号 JSP 到 JavaScript 函数

标签 javascript html jsp escaping

我有一个必须用于传递给 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("'","&#39;");

还有

 nameString = nameString.replaceAll("'","&apos;");

我仍然无法让它工作。而且我也不能选择 EL。

最佳答案

如果您想将字符串中的单引号 (') 替换为 Java 代码中的 JavaScript 转义(反斜杠)单引号 (\'),那么您需要转义反斜杠字符(使用反斜杠!)。例如:

nameString = nameString.replaceAll("'","\\'"); 

另请参阅:String.replaceAll single backslashes with double backslashes

关于javascript - 单引号 JSP 到 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11899980/

相关文章:

html - 未考虑 JSP/Css

css - 通过 <object> 包含的 HTML/CSS 未正确显示

jquery - 如何在 css calc() 中发送动态值

javascript - 如何使文本区域成为 ACE 编辑器?

javascript - 使用 Mootools 的水平滚动条

javascript - 下拉列表没有保存数据的值(value)

java - 将 html5 datepicker 插入 oracle 中出现异常

java - 如何使用 JSTL sql :query? 访问重复的列名

javascript - 组件选择器标签上的 Angular 2 样式?

javascript - 更好地按屏幕尺寸处理台式机、手机和平板电脑或检测平板电脑/手机/台式机?