コンピュータクワガタ

かっぱのかっぱによるコンピュータ関連のサイトです

ファンクション

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は使えない。
これはいつもどおりタグか、ファンクションをつくりますか(いままでも作ってるし)。