S2JSFのViewやってみました。
今日はS2JSFのプレゼンテーション作成でハマりました(泣)
やりたかったことは、
「あるクラスから受け取ったHTMLタグ付きの文字列をそのままHTMLとして表示したい」
といった内容。
もうできないと思ってあきらめていたところ、下記のMLログを発見しました。
http://ml.seasar.org/archives/seasar-user/2005-June/001121.html
「m:escape="false"」でいけますよと。
<span m:escape="false" m:value="#{hogeDto.htmlResult}" />
はい。良くできました〜。
繰り返しなんかも完璧マスターです。
<span m:inject="s:forEach" m:items="#{hogeDtoList}" m:var="hoge" m:varIndex="i">
ある特定のブロックを表示するかどうかはたとえば
m:rendered="#{viewMode == 1}"
ですね。
でもここで疑問というかうまく行かなかったのであきらめた事。
m:renderedの評価式には、boolean とか Booleanは使えない??
評価式が間違っているのか?booleanが使えないのか?Stringはどうなのか?
<span m:rendered="#{hoge.isPrint == false}" m:value="#{hoge.name}" />
※isPrintはbooleanまたはBoolean
今回はint変数が0か1かで判断するようにしてしまいました。。
最後になりましがた、S2JSFのViewはすごくイイ!です。
覚えにくいなんて先入観で思っていましたが、「Seasar入門」やexampleを見ながらやっていけば結構楽しく覚えられます。
アンカー<a>からポストできるんですよ。まさにASP.NETです。「ポストバック」と呼んじゃっています。
もうひとつすごいところ。
HTMLモックを生かしたまま、JSFのビューにできるんです!
分かりますか?画面仕様は最終的にHTMLのモックを見せて確認しますよね?
デザイナさんの作ったデザインとか。
それを生かしたまま、JSFのビューにすることができるんです。
拡張子もHTMLのままなんです!SEO対策にも効果アリ??
そうです。デザインを変えたければ、JSFビューをそのままデザイナさんに返してしまいましょう。
きっとロジックを崩さずに返してくれることでしょう。
....本当か?今度試す予定。某ベ○シ○ィーで一度失敗してるから、タダでは付き合ってくれないだろうな...