无法在JSP页面中正确显示特殊字符

我需要在表TD中显示以下特殊字符(不包括<符号和正斜杠之间的反斜杠),

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

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

仅当<和/字符连续出现时,才会发生上述问题。

也就是说,跟随作品,因为<符号后没有连续的正斜杠/

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

我正在使用Java代码来转义其他特殊字符。我能够用&符号成功替换<; 但是仅当<和/一起出现时,才如何替换正斜杠/。

请帮我

抱歉,即使在此网站中,您也看不到我需要实现的目标,因此在第1点中,请排除反斜杠(为了显示您的理解,我需要不加反斜杠显示)。我是新用户,因此无法发布图片。

回答:

默认情况下,Web浏览器将JSP发送的所有内容都视为HTML。该<指示开始HTML标签,因此网页浏览器会分析它本身(而最终失败的原因语法错误)。

你想逃避那些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()函数更好。

<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

...

<input type="text" value="${fn:escapeXml(bean.text)}" />

以上是 无法在JSP页面中正确显示特殊字符 的全部内容, 来源链接: utcz.com/qa/418537.html

回到顶部