[Seasar-user:5319] Re: [S2JSF] ボタン使用時にパラメータを渡せない

onishi [E-MAIL ADDRESS DELETED]
2006年 11月 29日 (水) 17:17:17 JST


おおにしです。
回答ありがとうございます。

申し訳ないですが、
サンプルを実行する環境がないので結果の確認はできないのですが、
同じ様なコードは書いています。

SetterにSystem.outを書いて確認は行っていますが、全くログに出力されません。

f:paramの代わりにhiddenを使ってみるとうまく取得できました。
<input type="hidden" m:name="menuNo" m:value="#{menuNo}" />

しかし、下記のようにm:valueにリテラルを設定すると取得できません。
<input type="hidden" m:name="menuNo" m:value="1" />

アプリケーションサーバーによって動きが違っているような気がします。
やっぱりコーディングがおかしい??

よろしくお願いします。

WebSphere5.1を使ってます。


> -----元のメッセージ-----
> 差出人: "[E-MAIL ADDRESS DELETED]" <[E-MAIL ADDRESS DELETED]>
> 受取人: "[E-MAIL ADDRESS DELETED]" <[E-MAIL ADDRESS DELETED]>
> 日付: 06/11/29 15:56
> 件名: [Seasar-user:5316] Re:	[S2JSF] ボタン使用時にパラ	メータを渡せない
> 
> 米林です。
> 
> From: "onishi" <[E-MAIL ADDRESS DELETED]>
> Sent: Wednesday, November 29, 2006 3:32 PM
> 
> > おおにしと申します。
> >
> > 過去のメーリングリストを見てみて、当てはまるものがあったのですが、
> > 文字化けしてて肝心な所が全く読めなかったので質問させていただきます。
> >
> > 以下の用にするとパラメータを渡せません。
> > リンクを使うと問題なくパラメータは渡せます。
> >
> > <input type="button" value="データ照会" m:action="#{hogeAction.hoge}">
> >   <span m:inject="f:param" m:name="menuNo" m:value="menuNo" />
> > </input>
> >
> > アクションクラスにはmenuNoのフィールドとsetterを記述しています。
> >
> > サンプル解説を見ると、普通に書かれているのでパラメータを渡せると思っています。
> > 何が原因なのでしょうか?
> 
> s2jsf-exampleのforeach/forEachResult.htmlの31行目に以下を追加して
> m:actionをaddAction.hogeに変更。
> =======================================================================
> <input type="button" m:action="#{addAction.hoge}" value="to ResultPage"
>   onclick="location.href='forEachResult.html'">
>   <span m:inject="f:param" m:name="index" m:value="#{i}"/>
>   <span m:inject="f:param" m:name="menuNo" m:value="menuNo"/> ※この行
> </input>
> 
> =======================================================================
> 
> examples.jsf.action.impl.AddActionImplに以下を追加。
> =======================================================================
> private String menuNo;
> public void setMenuNo(String menuNo) {
>     System.out.println("###called setter###[" + menuNo + "]");
>     this.menuNo = menuNo;
> }
> public String hoge() {
>     System.out.println("###called addAction.hoge###");
>     return null;
> }
> =======================================================================
> 
> 上記を実行するとパラメータを渡せるのが確認出来ると思います。
> パラメータで渡そうとするオブジェクトのスコープがRequestに
> なっているのではないでしょうか?
> ですので、パラメータが渡せないのでは無く
> 意図した値が得られないという事ではないかと思うのですが
> いかがでしょう?
> 
> ---
> 米林 正明
> [E-MAIL ADDRESS DELETED]
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 





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