- PR -

ダイナアクションフォームについて

1
投稿者投稿内容
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-09-26 17:07
struts 1.2で開発しています

A画面(検索画面)→B画面(一覧画面)→C画面(一覧から選んだ画面)

それぞれが違うフォーム名を使っている場合、
C画面でA画面のフォームの検索条件を表示したい場合
A画面の情報をセッションに保存しておく以外方法はないのでしょうか
(hiddenは避けたいと思っています)

Scope="session"にしているので、フォームの値は残っているようなのですが
ご教授ください

よろしくお願いします
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2007-09-26 18:13
A画面のForm名でSessionにActionFormが格納されています。
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-09-26 19:37
anthyhimeさん
ご返答有難うございます

すいません

request.getSession()で取れると言うことでしょうか

今は、別にsetAttributeで一意の名前のセッションを作って、それを使いまわしているのでデフォルトのセッション情報は使っていません

よろしくご教授ください
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-09-26 21:14
<form-bean name="hogeForm" type="hoge.piyo.HogeForm">
で定義したフォームを利用するアクションが
<action path="/piyo" name="hogeForm" scope="session">
とかだったりすると、
HogeForm form = (HogeForm)session.getAttribute("hogeForm");
で取得できますよって話。
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-09-26 22:13
たびたびすいません

ダイナアクションフォームでかつ画面をまたいで別のフォーム名の
場合でも、大丈夫なのでしょうか

//フォームを取得
objFrm = (DynaBean)form;

今の画面のこの取り方した出来ないのですが。

別の画面のフォーム名 form = (別の画面のフォーム名)session.getAttribute("別の画面のフォーム名");

このやり方だとエラーになってしまいます

よろしくご教授ください
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-09-27 00:57
エラーとだけ言われても、こっちには何が起こっているのかわかりません。
その辺を詳しく書いてもらえないと困りますよ。

DynaActionForm form1 = (DynaActionForm) session.getAttribute("hogeForm");

見たいに書いてもダメってことですか?

別の画面のフォーム名 form = (別の画面のフォーム名)session.getAttribute("別の画面のフォーム名");

じゃなくて、

別の画面のフォームのクラス名 form = (別の画面のフォームのクラス名)session.getAttribute("別の画面のフォーム名");

です。

[ メッセージ編集済み 編集者: かつのり 編集日時 2007-09-27 00:58 ]
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-09-27 10:38
かつのりさん

ご教授ありがとうございました

別フォームの情報をとる事が出来ました
1

スキルアップ/キャリアアップ(JOB@IT)