2013-04-03 37 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

相关问题