2013-01-20 25 views
1

的時候,這裏是我的代碼問題與報價轉換JSP變量jQuery的

<c:set var="initSubjectCategories" value="${requestScope.initSubjectCategories}" scope="page" /> 
<c:set var="initSubjects" value="${requestScope.initSubjects}" scope="page" /> 
<c:set var="initRelations" value="${requestScope.initRelations}" scope="page" /> 
<c:set var="initComplements" value="${requestScope.initComplements}" scope="page" /> 
<c:set var="initComplementCategories" value="${requestScope.initComplementCategories}" scope="page" /> 
<c:set var="initTriplets" value="${requestScope.initTriplets}" scope="page" /> 

var initSubjectCategories = "${requestScope.initSubjectCategories}"; 
var initComplementCategories = "${requestScope.initComplementCategories}"; 
var initSubjects = "${requestScope.initSubjects}"; 
var initComplements = "${requestScope.initComplements}"; 
var initRelations = "${requestScope.initRelations}"; 
var initTriplets = "${requestScope.initTriplets}"; 

的問題是,加載網頁時,當這些字符串的一個包含簡單或雙引號,我得到一個錯誤。

我試過用.replace(/"/g, '\"');用雙引號替換帶有反斜槓的雙引號,但它什麼也沒做。我也試過encodeURIComponent("${requestScope.initTriplets}"),但它也沒有做到。

預先感謝您。

+0

看來你是試圖做轉義使用JavaScript,需要做轉義服務器 – charlietfl

+0

你能告訴我該怎麼做嗎? 'request.setAttribute(「initSubjects」,subjectsToShow);' – user1881815

回答

0

您需要在服務器一側轉義這些字符。將escapeXml="true"添加到輸入標籤。

如果你不這樣做,它得到的輸出,如:

<input value="valwithquo"tes"/> 

太晚了JavaScript來幫助你,因爲現在的價值是valwithquo(否則無效HTML)

+0

謝謝,但我怎麼能使用C:內部標籤的轉義XML? 這是行不通的,我收到消息*/WEB-PAGES/Cockpit/cockpit.jsp(行:3,列:0)根據標記文件中的TLD或屬性指令,屬性值不接受任何表達式* – user1881815