- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:strutsのactionクラスで遷移先のBeanを取得する方法)
strutsのactionクラスで遷移先のBeanを取得する方法
このQ&Aのポイント
- strutsを使用している場合、actionクラスで遷移先のBeanを取得する方法を教えてください
- JSP画面が2つあり、画面Aから画面Bに遷移し、画面Aで使用したプロパティ値を画面Bにセットして表示したい場合、actionクラスの引数で指定されている画面AのBean以外のBeanを取得する方法を教えてください
- strutsを使用している状況で、actionクラスで遷移先のBeanを取得する方法について教えてください
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
画面Aのプロパティとか、 画面Bのプロパティとか、 といわれていいるのは、 画面Aのコントロールを担当させることにしている Actionクラスに対応するActionForm のことでしょうか? 正確に記述して頂きたいです。 以後、そういうことだとして、 回答します。 画面Aから画面Bの遷移方法が return mapping.findForward( を使っているのであれば、 forwardしています。 forwardしていれば、 画面Aと画面Bで同一のrequestオブジェクトを 使用することになるはずです。 画面Aの方で、画面Bに遷移する前に requestスコープの適当なキーで 画面AのActionFormをオブジェクトごと 格納してしまうのはどうでしょうか? 画面B側では、requestキーの該当スコープで getAttribute( してみて、 nullでなければ、画面Aから遷移して来たと、 判断して、 画面AのActionForm → 画面BのActionForm 方向の値の移し変えする処理を すればよいのではないでしょうか? その際、もし、工夫をすれば org.apache.commons.beanutils.BeanUtils というBeanを浅いコピーするユティリティー を使えるかもしれません。 詳細は調べてください。 なお、 作ろうとしているシステムの目的にもよりますが、 getAttribute( してみてnullであれば、 それは、画面Bのみの単独処理をする パターンであったとみなす。 などの、切り分けも可能かもしれません。 以上