レイアウト継承でのonloadイベントの書き方

すっかり放置してましたm(_ _)m
先ほど、返信したけどメールが届かないようなので、こちらにも。

layout.htmlで継承された画面が複数ありますが、
それぞれでbodyのonloadイベントで呼ばれるJavaScriptが違います。
結果ではしか出力されてきません。

そのような場合、layout.htmlは一つでは対応できないのでしょうか?


予想するとS2JSFにおいて継承された(言い方あってるかな?)HTMLにおいて
それぞれ異なる onload イベントを1つの継承HTML(layout.html)で処理したいという事だろうと。

つまり、s2jsf-exampleでいうところの

  • hello.html独自のonload処理
  • add.html独自のonload処理

を処理したいので、f:paramを使いましょう。

hello.html

<span m:inject="f:param" m:name="layoutTitle" m:value="Hello"/>
<span m:inject="f:param" m:name="hoge" m:value="javascript:alert('hello.html');"/>

add.html

<span m:inject="f:param" m:name="layoutTitle" m:value="Add"/>
<span m:inject="f:param" m:name="hoge" m:value="javascript:alert('add.html');"/>

layout.html

<body m:onload="#{hoge}">

これで、hello.html, add.html それぞれの画面で異なるonload処理を
1つのlayout.htmlで実現出来ます。