我有jsp代码作为传递撇号。当一个撇号出现在URL中时,我得到错误。以JavaScript功能
我尝试过所有的方法,如escape,encodeURI,用双引号替换单引号,但没有任何作用。
脚本调用如下:
function showURL(name){
alert(name);
}
我有jsp代码作为传递撇号。当一个撇号出现在URL中时,我得到错误。以JavaScript功能
我尝试过所有的方法,如escape,encodeURI,用双引号替换单引号,但没有任何作用。
脚本调用如下:
function showURL(name){
alert(name);
}
为什么不只是这样做:
onclick=showURL("${result.url}");
function showURL (result_url) {
alert("<c:out value='"+ result_url + "' />");
}
,那么你不必担心逃避在所有。
-tjw
我已经在上面尝试过了,但在onclick调用中出现错误属性名称未定义。我曾经使用过逃逸一次,它适用于除撇号以外的所有特殊字符。 – 2011-05-20 13:14:48
我的代码工作时,我直接在Java脚本中使用c:out值。 var splCharUrl =“
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
${fn:escapeXml(myString)}
我使用它作为href。所以当fn:escapeXML表示为未定义的属性 – 2011-05-20 13:01:15
您需要确保${result.url}
返回有效的URL。报价在网址中无效。这听起来像你正在使用的查询字符串未编码参数,如如下
public String getUrl() {
return "page.jsp?foo=" + foo + "&bar=" + bar;
}
返回一个URL,您需要更改方法如下
public String getUrl() {
return "page.jsp?foo=" + URLEncoder.encode(foo, "UTF-8") + "&bar=" + URLEncoder.encode(bar, "UTF-8");
}
你不能在JavaScript侧解决这个问题escape()
等等,现在已经太晚了。
[Javascript转义引用]可能的重复(http://stackoverflow.com/questions/2004168/javascript-escape-quotes) – JohnFx 2011-05-20 12:58:32