[Seasar-user:15002] Re: [cubby] ActionへのForwardについて
BABA,Yasuyuki
[E-MAIL ADDRESS DELETED]
2008年 7月 11日 (金) 12:02:55 JST
馬場です。
> 第三引数の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 メーリングリストの案内