我有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