5

というテキストを表示したい

"welcome<to>Jsp"

ページソースにも「welcomeJsp」と表示されています

しかし、HTML では "welcomeJsp" だけで表示されます。私を案内してください。

4

3 に答える 3

2

これらの文字をエスケープする必要があります..

welcome&lt;to&gt;Jsp

HTML をエスケープするために、 Apache のStringEscapeUtilsクラス ( org.apache.commons.lang で利用可能) 関数を使用することをお勧めします。escapeHtml()

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

于 2012-11-09T06:26:00.123 に答える
1
"welcome&lt;to&gt;Jsp"


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

これらの文字を実際に表示するには、この方法でエンコードする必要があります。

于 2012-11-09T06:25:35.117 に答える
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)}

ちなみに、これらの 2 つは、ユーザー制御の入力に関係する場合は常に使用する必要があります。それ以外の場合は、XSS 攻撃の穴に完全にさらされます。JSP wiki ページ、XSS の背後にある一般的な概念は何ですか?も参照してください。

于 2012-11-09T11:28:41.503 に答える