フィルター内の HTML 応答で、特定の文字をそれぞれの HTML エンティティに置き換えたいと考えています。文字には、、、が含ま<れ>ます&。replaceAll()HTMLタグの一部であっても、すべての文字を置き換えるため、使用できません。
そうするための最良のアプローチは何ですか?
フィルター内の HTML 応答で、特定の文字をそれぞれの HTML エンティティに置き換えたいと考えています。文字には、、、が含ま<れ>ます&。replaceAll()HTMLタグの一部であっても、すべての文字を置き換えるため、使用できません。
そうするための最良のアプローチは何ですか?
Java から Apache Commons Lang (legacy v2) を試すことができます StringEscapeUtils.escapeHtml()。または commons-lang3: を使用しStringEscapeUtils.escapeHtml4()ます。
これは& such にも変換àされることに注意してください。à
JSTL などのテクノロジーを使用している場合は、 を使用して値を出力するだけで、<c:out value="${myObject.property}"/>自動的にエスケープされます。
属性escapeXmlはtrueデフォルトです。
escapeXml<,>,&,',"-結果の文字列内の文字を対応する文字エンティティ コードに変換する必要があるかどうかを決定します。デフォルト値はtrueです。