[Seasar-user:5542] Re: [S2JSF] ボタン使用時にパラメータを渡せない
onishi
[E-MAIL ADDRESS DELETED]
2006年 12月 20日 (水) 10:06:55 JST
おおにしです。
何度も申し訳ないです。
解決したということでしたが、解決してませんでした。orz...
hiddenでm:passthrough="true"した場合で、
複数ボタンがあってパラメータを渡す場合、
同じ名前のものができてしまうので、HTMLで前の方にあるものが取得されていました。
少し時間ができたので、S2JSFのサンプルを実行してみたところ、
米村さんが言うようにf:paramでパラメータが渡せることを確認しました。
どうして作成中のプログラムではパラメータが渡せないかさっぱりわからないので、
S2JSFのサンプルに入っているライブラリを全部コピーして確認したらパラメータが渡せました。
何が違うのか、作成中のプログラムのライブラリと比較し、
違うものに関しては1つずつ動作確認を行いました。
そうすると、nekohtml-0.95.jarだとパラメータが渡せないことがわかりました。
nekohtml0.93と0.95では何か違うのでしょうかね〜。
ライブラリはサンプルのをそのまま使ったほうがいいみたいです。
S2JSFのドキュメントにS2Containerと同じように必要なライブラリの一覧を書いていただければありがたいです。(サンプルで各プロダクトによってライブラリが少し異なっていることがあるため)
> -----元のメッセージ-----
> 差出人: "onishi" <[E-MAIL ADDRESS DELETED]>
> 受取人: "[E-MAIL ADDRESS DELETED]" <[E-MAIL ADDRESS DELETED]>
> 日付: 06/12/15 10:19
> 件名: Re: [Seasar-user:5316] Re:[S2JSF] ボタン使用時にパラメータを渡せない
>
> おおにしです。
>
> 標記の件解決しました。
>
> ボタン使用時はhiddenで[m:passthrough="true"]を記述することで名前が変更されなくなり、パラメータが渡せるようになりました。
>
> f:paramを使用した場合は、やはりパラメータが渡せませんでした。
> (Action内のパラメータのsetterを通らない)
>
> -- 解決コード --
> <input type="button" value="..." m:action="hogeAction.hoge">
> <input type="hidden" m:name="menuNo" m:value="1" m:passthrough="true" />
> </input>
>
>
> 原因は何かと処理実行後のHTMLのソースを見てみた所、
> ボタンの場合、パラメータの名前が変更されていて、
> リンク使用時のようにパラメータ名が記述されていませんでした。
>
> -- ボタン : hiddenの名前が定まっていない --
> <input id="_id14:_id28" name="_id14:_id28" type="submit" value="HOGE" onclick="clear__5Fid14();" />
> <input type="hidden" id="_id14:_id30" name="_id14:_id30" value="1" />
>
> -- リンク : リンク自体にmenuNoとパラメータ名が記述されている(●の部分) --
> <a href="#" onclick="clear__5Fid14();document.forms['_id14'].elements['_id14:_link_hidden_'].value='_id14:_id55';document.forms['_id14'].elements[●'menuNo'].value='3';if(document.forms['_id14'].onsubmit){document.forms['_id14'].onsubmit();}document.forms['_id14'].submit();return false;" id="_id14:_id55">HOGE
Seasar-user メーリングリストの案内