5

フィルター内の HTML 応答で、特定の文字をそれぞれの HTML エンティティに置き換えたいと考えています。文字には、、、が含ま<>ます&replaceAll()HTMLタグの一部であっても、すべての文字を置き換えるため、使用できません。

そうするための最良のアプローチは何ですか?

4

3 に答える 3

12

Java から Apache Commons Lang (legacy v2) を試すことができます StringEscapeUtils.escapeHtml()。または commons-lang3: を使用しStringEscapeUtils.escapeHtml4()ます。

これは& such にも変換àされることに注意してください。&agrave;

于 2012-06-11T10:21:15.327 に答える
1

JSTL などのテクノロジーを使用している場合は、 を使用して値を出力するだけで、<c:out value="${myObject.property}"/>自動的にエスケープされます。

属性escapeXmltrueデフォルトです。

escapeXml<,>,&,',"-結果の文字列内の文字を対応する文字エンティティ コードに変換する必要があるかどうかを決定します。デフォルト値はtrueです。

http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/

于 2012-06-11T10:11:06.060 に答える