经过数小时的谷歌搜索和搜索,我终于来到了我需要问你的地方!:)
情况如下: Web 服务在 CDATA 中提供数据。这些数据被解析并放入我们的模型中。使用 Spring MVC,我们访问 JSP 文件中的模型以创建....重点来了... JSON!别问,历史!;-)
现在,不知何故有人想到了将多个(反)斜杠放入标题属性的绝妙想法。getTitle() 方法返回字符串“/// Glasvegas \\”。如果我们对 JSON(在 JSP 中创建)执行 JavaSCript eval() 以获取 JavaScript Json 对象,这当然是行不通的。它只是将反斜杠解释为注释,使 Json 无效。我尝试使用 apache.common 和 springframework 中的 escapeHtml() 方法,但它们都只是在正确编码所有其他特殊字符时忽略了反斜杠。
然后我尝试编写自己的方法:
public static String escapeHTML(String string) {
String foreslash="\";
String regex="\\\\";
System.out.println(string.replaceAll(regex,foreslash));
string.replaceAll(regex,foreslash);
return string;
}
在控制台输出中,字符串被正确替换,但如果在返回时中断并在调试器中检查变量“字符串”,它仍然是“/// Glasvegas \\”。在生成的 JSP 中也是如此。
所以,我有点迷失在这里。
问候, ASP