ファンクション
SAStrutsのファンクションをテストしてみる。
まず、以下のように変数を定義。
a1 = "<>\"'"; a2 = "a\nb\nc\n"; a3 = null;
これを、jspで表示。
ここに表示(a1)==|${f:h(a1)}|==<br /> ここに表示(a2)==|${f:h(a2)}|==<br /> ここに表示(a3)==|${f:h(a3)}|==<br /> c:out value=a3 default=nullだよ==|<c:out value="${a3}" default="nullだよ" />|==<br />
結果は、
ここに表示(a1)==|<>"'|== ここに表示(a2)==|a b c |== ここに表示(a3)==||== c:out value=a3 default=nullだよ==|nullだよ|==
予想通りの結果。
値がnullの場合に別の値を表示したい場合にはc:outタグがあるからいいとして、文章等(テキストエリア等で入力されたものとか)を表示する場合のものをどうするか。
エスケープの順番が問題になる(HTMLのエスケープをしてから、改行文字を
に変換)ので、f:hとかc:outは使えない。
これはいつもどおりタグか、ファンクションをつくりますか(いままでも作ってるし)。