2011-04-08 207 views
1

我需要在表格中显示TD下列特殊字符(不包括反斜杠在<符号和正斜杠之间),不能在JSP页面中正确显示特殊字符

1)'/<\/@/test#/$/&/)'

但是,浏览器只能显示'/ 即数据被截断。

仅当<和/ chars连续出现时才会出现上述问题。

也就是说,以下作品没有后续斜杠(/)的<符号

2)'/<@/test#/$/&/)'

我使用Java代码来躲避其他特殊字符之后。 我能够成功地用&符号替换<;但如何取代正斜杠/只有当<和/或一起出现。

请帮我

对不起,即使在这个网站上,你看不到我需要什么来实现的,因此,在1点排除反斜杠(我需要显示没有反斜杠,乌拉圭回合的理解我已经把它)。我无法发布图片,因为我是新用户。

+0

在Stack Overflow上,您可以使用反引号(')(不要将其与单引号混淆)转义代码/ HTML。 – 2011-04-08 17:32:21

回答

2

由JSP发送的everthing默认被web浏览器视为HTML。 <指示HTML标记的开始,因此webbrowser将会解析它(并且最终由于语法错误而失败)。

你想逃避那些HTML特殊字符,如<,>,&"

&lt; will be displayed as < 
&gt; will be displayed as > 
&amp; will be displayed as & 
&quot; will be displayed as " 

如果是动态文本,最好用JSTL <c:out>标签完成。

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
... 
<c:out value="${bean.text}" /> 

如果你想设置一个HTML属性,JSTL fn:escapeXml() function更好。

<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 
... 
<input type="text" value="${fn:escapeXml(bean.text)}" /> 
+0

简单的解决方案,但非常强大。非常感谢你解决了我的问题。我没有想到如此快速的回应。感谢一百万次。 – nbharan4u 2011-04-08 17:36:50

+0

嗨@BalusC,只是想打印“kΩ”,但它不是按照原样打印,而是显示“kâ”。当我尝试你的解决方案时,它提供了'在字符串中使用无效的字符串',请帮我解决这个问题,谢谢。 – 2015-01-06 14:44:26

+0

@ Java.beginner:这个问题有一个完全不同的原因,需要解决完全不同的问题。提示:“字符编码”。 – BalusC 2015-01-06 14:49:18