2013-04-03 70 views
1

我將一個值作爲請求屬性傳遞給jsp頁面。如何將帶空格和括號的文本傳遞給java

request.setAttribute("description", StringEscapeUtils.escapeHtml("Hello 1F World (Hello World) Hello World")); 

在JSP頁面中我在pageContext中

String text = (String) (String) request.getAttribute("description"); 
pageContext.setAttribute("description", text); 

我有這個文本發送的請求參數到服務器正在設置。當我看着螢火蟲時,我看到一個錯誤。我正在嘗試使用引發錯誤的"value" = "${text}"。我究竟做錯了什麼?

SyntaxError: unterminated string literal 
[Break On This Error] 

{ "name": "description", "value": " 
+0

你忘了展現了發送文本到服務器的代碼的字符串的內容去。你究竟是怎麼做到的? *編輯*我可以猜測你將該字符串放入頁面上的一些JavaScript代碼中。您需要使用類似JSON編碼器工具的東西來確保您獲得有效的JavaScript字符串常量。 – Pointy 2013-04-03 18:49:00

+0

是的,我將該文本放回到JavaScript代碼中,在iframe中將該值作爲ajax發送。 – user525146 2013-04-03 18:54:01

+0

問題是,您需要確保字符串格式正確,以便JavaScript解析器將其作爲有效的字符串常量接受。最簡單的方法是使用JSON編碼器。不幸的是,在標準的JSTL函數庫中沒有這樣的事情。 – Pointy 2013-04-03 18:56:17

回答

2

您應該使用StringEscapeUtils.escapeJava由不具有任何HTML

StringEscapeUtils.escapeJava("Hello 1F World (Hello World) Hello World")); 
+0

啊..我看到我的錯誤!謝謝它的作品! – user525146 2013-04-03 19:46:14

相關問題