ひがやすを技術ブログ

電通国際情報サービスのプログラマ

binding

今考えているbindingの方式は、3通り。
1つ目は、JSF風。


<input type="text" value="#{emp.ename}"/>
この方式の問題点は、属性の値がブラウザの見た目に影響するとき、プレビューが崩れてしまう点です。例えば、CSSのclass属性に対して、class="#{hoge.myclass}"のようにするとブラウザはきちんと表示できません。


2つ目は、formのid属性をJavaBeansに個別のタグのidをプロパティにマッピングする方法。

<form id="emp">
<input type="text" id="ename"/>
</form>
この方法は、HTMLに混ぜ物がなく、一見きれいなのですが、任意の属性にbindingしようとすると、さてどうしようかな状態になります。


3つ目の方法は、binding用に属性を追加すること。次の、bはbindingをあらわすprefixとします。

<html xmlns:b="http://www.seasar.org/jsf/binding">
<input type="text" b:value="emp.ename" value="hoge"/>
</html>
ブラウザでそのまま見たときは、hogeと表示されていますが、S2JSF上で実行すると、emp.enameの値がbindingされるという仕組みです。これだと、ブラウザのプレビューを壊すことなく、任意の属性をbindingできます。
最初の実装は、3つ目でいこうと思っています。