[Seasar-user:15051] Re: [cubby] ActionへのForwardについて

Mitsutaka Sato [E-MAIL ADDRESS DELETED]
2008年 7月 16日 (水) 16:22:55 JST


馬場様
お返事遅くなりましてすみません。

もし問題がなければ、
>
> アクションからアクションへフォワードする理由を教えて
> いただけないでしょうか?
> 大抵はメソッド呼び出しだけで対応できると思っているので、あまりピンときて
> いないのです。


たしかに、そういわれると。。。^^;
別のActionのメソッドを呼び出したかったのでForwardするのが自然かなと思ったのですが、
(ActionクラスのインスタンスはCubbyが作っているので。。)
呼び出したいActionクラスを呼び出しもとのActionクラスにinject させるのが普通なんですかね?


2008/7/11 BABA,Yasuyuki <[E-MAIL ADDRESS DELETED]>:

> 馬場です。
>
> > 第三引数のparamは、新たにリクエストパラメータに追加したいもののみ指定する
> はい、そのようにしてください。
>
> > (遷移元のActionが持っていたparamは自動的に引き継がれる)
> これは引き継ぐ処理をしているわけではなく、遷移先でも再度リクエストのパラ
> メータからアクションへのバインドが実行される、というだけです。
>
> もし問題がなければ、アクションからアクションへフォワードする理由を教えて
> いただけないでしょうか?
> 大抵はメソッド呼び出しだけで対応できると思っているので、あまりピンときて
> いないのです。
>
>
> Mitsutaka Sato さんは書きました:
> > 佐藤です。
> > たびたびすみません。
> >
> > Forward後のActionにインジェクトされたparamValuesをダンプしてみると、以下のように
> >
> >
> {cardId2:["2010","2010"],cardId1:["8543","8543"],__descriptor:["v5432","v5432"],cardPin:["941114","941114"],__media:["m","m"],cardId4:["0407","0407"],cardId3:["0000","0000"]}
> >
> > 値が2つずつ登録されていました。
> > 第三引数のparamは、新たにリクエストパラメータに追加したいもののみ指定する
> > (遷移元のActionが持っていたparamは自動的に引き継がれる)
> > という理解でよいでしょうか?
> >
> >
> > 2008/7/11 Mitsutaka Sato <[E-MAIL ADDRESS DELETED]>:
> >
> >> 馬場様
> >> ご指摘ありがとうございました。
> >>
> >> うまく行きました!
> >>
> >> 2008/7/11 BABA,Yasuyuki <[E-MAIL ADDRESS DELETED]>:
> >>
> >> 馬場です。
> >>>> java.lang.ClassCastException: java.lang.String cannot be cast to
> >>>> [Ljava.lang.String;
> >>> param は Map<String, String> なので、フィールド名を paramValues
> >>> (Map<String, String[]) に変更して試してみてください。
> >>>
> http://s2container.seasar.org/2.4/ja/DIContainer.html#ImplicitComponent
> >>>
> >>>
> >>> Mitsutaka Sato さんは書きました:
> >>>> 佐藤です。
> >>>> 早速試してみました。
> >>>>
> >>>> まず、paramにnullを指定してのForwardは成功しました。
> >>>>
> >>>> 次に、遷移元Actionに用意した
> >>>>  public Map<String,String[]> param;
> >>>> に無事リクエストパラメータが格納されていたので、
> >>>> これを第三引数として渡したところ、ClassCastExceptionが出ました。
> >>>>
> >>>> ちなみにparamをJSONSerializerでserializeしてログ出力したときの表示は
> >>>> {__descriptor:"v5432",__media:"m"}
> >>>> でした。
> >>>> これらは、@Pathでパラメータに設定されたものです。
> >>>
> >>> --
> >>> BABA,Yasuyuki
> >>> [E-MAIL ADDRESS DELETED]
> >>> _______________________________________________
> >>> Seasar-user mailing list
> >>> [E-MAIL ADDRESS DELETED]
> >>> https://ml.seasar.org/mailman/listinfo/seasar-user
> >>>
> >>
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
> --
> BABA,Yasuyuki
> [E-MAIL ADDRESS DELETED]
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20080716/dbeb8d50/attachment-0001.html>


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