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ビューをそのままデザイナさんに返してしまいましょう。
きっとロジックを崩さずに返してくれることでしょう。
....本当か?今度試す予定。某ベ○シ○ィーで一度失敗してるから、タダでは付き合ってくれないだろうな...