5

我想显示一个名为

"welcome<to>Jsp"

在页面源代码中,我也看到了“welcomeJsp”

但在 HTML 中,它仅显示为“welcomeJsp”。请指导我。

4

3 回答 3

2

你必须逃避这些字符..

welcome&lt;to&gt;Jsp

我建议使用 Apache 的StringEscapeUtils类(在 org.apache.commons.lang 中可用)函数escapeHtml()来转义 HTML。

StringEscapeUtils.escapeHtml("welcome<to>Jsp")

于 2012-11-09T06:26:00.123 回答
1

使用JSTL <c:out>标记或fn:escapeXml()函数。

<c:out value="welcome<to>Jsp" />

或者

${fn:escapeXml('welcome<to>Jsp')}

您甚至可以在模型值上使用它。

<c:out value="${bean.property}" />

或者

${fn:escapeXml(bean.property)}

顺便说一句,当涉及用户控制的输入时,应该始终使用这两个,否则您将完全受到 XSS 攻击漏洞的影响。另请参阅我们的 JSP wiki 页面XSS 背后的一般概念是什么?

于 2012-11-09T11:28:41.503 回答
1
"welcome&lt;to&gt;Jsp"


&gt; (greater than) - (>)
&lt; (less than)    - (<)

这些字符需要以这种方式编码才能真正显示出来。

于 2012-11-09T06:25:35.117 回答