如何在JSP中显示带有标签的文本



我想显示一个称为

的文本
"welcome<to>Jsp"

在页面源中,我也将其视为" welcomejsp"

,但在HTML中仅显示为" Welcomejsp"。请引导我。

您必须逃脱这些字符。

welcome&lt;to&gt;Jsp

我会建议使用Apache的Stringscapeutils类(可在org.apache.commons.lang中使用)函数escapeHtml()用于逃脱HTML。

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

"welcome&lt;to&gt;Jsp"

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

这些字符需要以这种方式进行编码以实际显示它们。

使用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背后的一般概念是什么?

我刚刚添加了空格:)

<body bgcolor="#333" text="#fff">
<!-- jsp expression -->
<p>Expression < % = new java.util.Date() % ></p>
<p> <%= new java.util.Date() %></p>
<!-- jsp Scriptlet -->
<p>Scriptlet < % Java code 1 to many lines % ></p>
<!-- jsp Declaration -->
<p>Declaration  < % ! variable or method declaration %></p>
<p>JSP comment < %-- --%></p>

相关内容

  • 没有找到相关文章

最新更新