2012-11-12 47 views
0

如果其中一個字符串包含新行,則使用Spring的機制來填充字符串數組時會出現問題。使用Spring向數組輸出數據時出現Javascript錯誤

JSP代碼如下所示:

function foo() { 
    var strs = new Array(); 
    <c:forEach items"${strItems}" var="s"> 
     strs.push("${s}"); 
    </c:forEach> 
} 

被渲染爲客戶端後,JavaScript是:

function foo() { 
    var strs = new Array(); 
     strs.push("item1"); 
     strs.push("item2 
with 
newlines 
in it."); 
     strs.push("item3"); 
} 

現在是無效的JavaScript。我需要在字符串中保留末尾,所以我無法擦除它們的數據。我不確定要做什麼,任何建議都會有很大的幫助。

謝謝。

回答

0

有庫做類型轉換:

和所有你所要做的就是讓他們系列化你的陣列,並輸出結果作爲串。

+0

這正是我所期待的。沒有大驚小怪,沒有麻煩。 我剛剛做了轉義示例: import org.json.simple.JSONObject; public String getSafeString(){ return JSONObject.escape(myString); } ... – user1628546

+0

爲什麼不使用'JSONValue.toJSONString(list)'?它更整潔,可能更快。 – xiaoyi