[Seasar-user:4510] Re: レイアウト用HTMLの各項目へのValueBindingについて

Shun Saito [E-MAIL ADDRESS DELETED]
2006年 9月 4日 (月) 19:25:09 JST


watakaさん、コメントありがとうございます。

>> 結果は、前者の場合「component identifier's first character
>> must be a letter or an underscore ('_')! But it is "#"」、
> #S2JSF側で振られるid(id="_idxx")をレイアウト側に最初から埋め込んでしまっていると、このメッセージが出てきたような記憶があります。
> 確認してみてはいかがでしょうか?

id属性はスタイルシートのために記述したのですが、レイアウト側でも
以下のように静的に記述する分には正しく処理してくれるようです。

<div id="XXXX"> →これはOK

これを

<div id="#{XXXX}">

としてValueBindingしようとしたらダメでした。

> レイアウト側を動的に変える場合ですが、
> 
> レイアウト側(layout.html)あるいはレイアウトからm:srcで挿入されるHTML(header.html)で、
> ------------
> <!--値のバインディング-->
> <div>
> ようこそ<span m:value="#{layout$UserName}"/>さん
> </div>
> 
> <!--HTMLブロックの挿入-->
> <div><span m:inject="s:insert" m:name="layout$Block"></div>
> ------------
> のように動的になる枠を用意しておいて、
> 
> 処理するHTML(たとえばadd.html)に、
> --------
> <!--値のバインディング-->
> <span m:inject="f:param" m:name="layout$UserName" m:value="wataka"/>
> 
> <!--HTMLブロックの挿入-->
> <span m:inject="s:insert" m:name="layout$Block">
>  <table border="1"><tr><td>Block Insert</td></tr></table>
> </span>
> ---------
> のように書くと上手く入ります。

<span m:value="#{XXXX}">

のような場合はおっしゃるとおりValueBinding可能ですね。
ただ、今回やりたかった

<span m:inject="s:insert" m:src="#{XXXX}" />

のパターンでは呼び出し元でf:paramを書いたりいろいろ
やってみましたがうまくいきませんでした。


ちなみにこれを使ってやりたいことというのは、blogなどで
よくやるサイドバーにいろいろなブロックを好きな順番で
並べられるような機能に近いです。
他の実現手段でできるのでしたらそれでも結構ですので、
ご存じの方がいらっしゃいましたらご教授下さい。

よろしくお願いします。

---------------------------------------------------
株式会社サイエンティア 東京支店HR開発グループ 斎藤 俊
e-mail:[E-MAIL ADDRESS DELETED]
web:http://www.scientia.co.jp
---------------------------------------------------




Seasar-user メーリングリストの案内