[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 メーリングリストの案内