public final class HtmlTagUtil
extends java.lang.Object
修飾子とタイプ | メソッドと説明 |
---|---|
static java.lang.String |
escapeHtml(java.lang.Object s)
HTMLエスケープを行う。
|
static java.lang.String |
escapeHtml(java.lang.Object s,
boolean withHtmlFormat)
HTMLエスケープ及び半角スペースと改行の変換を行う。
|
static java.lang.String |
escapeHtml(java.lang.Object s,
boolean withHtmlFormat,
java.util.List<java.lang.String> safeTags,
java.util.List<java.lang.String> safeAttributes)
HTMLエスケープ、半角スペース・改行の変換を行う。
|
@Published(tag="architect") public static java.lang.String escapeHtml(java.lang.Object s)
HTMLエスケープ例:
& -> &
< -> <
> -> >
" -> "
' -> '
実装例:
String str = "&<>\"\'";
HtmlTagUtil.escapeHtml(str); //-->&<>"'
s
- エスケープ対象のオブジェクト@Published(tag="architect") public static java.lang.String escapeHtml(java.lang.Object s, boolean withHtmlFormat)
HTMLエスケープ例: & -> & < -> < > -> > " -> " ' -> 'withHtmlFormatにtrueが指定された場合は、半角スペースと改行の変換を行う。
半角スペース、改行の変換例: " "(半角スペース) -> \n、\r、\r\n -> <br/>
実装例:
String str = " \r\n\n\r";
HtmlTagUtil.escapeHtml(str, true) //--> <br/><br/><br/>
s
- エスケープ対象のオブジェクトwithHtmlFormat
- 改行変換と半角スペース変換を行う場合はtrue@Published(tag="architect") public static java.lang.String escapeHtml(java.lang.Object s, boolean withHtmlFormat, java.util.List<java.lang.String> safeTags, java.util.List<java.lang.String> safeAttributes)
HTMLエスケープ例: & -> & < -> < > -> > " -> " ' -> 'withHtmlFormatにtrueが指定された場合は、半角スペースと改行の変換を行う。
半角スペース、改行の変換例: " "(半角スペース) ->
\n、\r、\r\n -> <br/>
実装例:
String str = " \r\n\n\r";
HtmlTagUtil.escapeHtml(str, true, null, null) //--> <br/><br/><br/>
エスケープ対象外のタグとその中で使用できるタグの属性を設定した場合は、さらに下記の変換を行う。
実装例:
String str1 = "<a href=\"javascript:alert();\" name=\"サンプル\">あいう</a>";
String str2 = "<a href=\"xxx.html\" name=\"サンプル\">あいう</a>";
List<String> list1 = Arrays.asList("a");
List<String> list2 = Arrays.asList("href", "name");
//属性値の内容がセキュリティ上問題のあるものだった場合、設定と関係なくエスケープされる
HtmlTagUtil.escapeHtml(str1.toString(), false, list1, list2);
//--><a href="javascript:alert();" name="サンプル">あいう</a>
//属性地の内容がセキュリティ上問題のないものだった場合、設定したタグはエスケープされない
HtmlTagUtil.escapeHtml(str2.toString(), false, list1, list2);
//--><a href="xxx.html" name="サンプル">あいう</a>
s
- エスケープ対象のオブジェクトwithHtmlFormat
- 改行変換と半角スペース変換を行う場合はtruesafeTags
- エスケープ対象外のタグsafeAttributes
- エスケープ対象外のタグの中で使用することができる属性。
(ここに無い属性が使用されていた場合は、エスケープ対象外のタグでも、
エスケープされる。)