- - PR -
WEB画面のメッセージ表示
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-01-15 20:55
struts+tomcatで開発している初心者です。
質問ばかりですみませんが、教えて頂けないでしょうか? (やりたいこと) 画面の表示メッセージをDBから取得して表示したい場合、DBからのメッセージ 取得処理をどこに記述して、struts-config.xmlにはどのような画面遷移を定義 すれば良いのでしょか? (例) @画面MにDBのメッセージテーブルから取得したメッセージを表示したい。 (表示するメッセージは呼ばれ元画面に関係しない。画面Mだけに依存する) A画面A→画面Mへ画面遷移する時、画面AのアクションクラスにDB取得処理を記述して、 request.setAttributeで画面M.jspに渡しています。 Bやりたいことは実現できるのですが、画面B→画面Mの遷移の時も画面Bのアクションクラス に記述する必要があり、効率的でありません。 Cそもそも画面Mのメッセージが呼ばれ元には依存しない仕様なので、画面Aや画面Bの アクションクラスに記述すること自体に抵抗があります。 ASP.NETのpage_loadのようなイメージで記述できる部分があれば良いのですが・・・ どのような記述にすれば宜しいのでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2006-01-15 21:13
現状では、
・AアクションクラスからM画面のJSPにフォワード ・BアクションクラスからM画面のJSPにフォワード ということでしょうか。 アクションマッピングの記述でフォワード先にM画面のJSPを指定していると思いますが、 「業務ロジックを実行してからM画面のJSPにフォワードするアクション」 を作成して、そのアクションに対してフォワードするように 変更すればよいと思います。 | ||||
|
投稿日時: 2006-01-17 19:43
私の記述(例)が悪く、うまく質問の意図が伝わっていないようなので もう一度、説明します。 画面Mに業務ロジックの結果を表示したいのですが、他の画面のアクション クラスからフォワードされるのでなく、画面Mに関係するクラスのみで処理 を完結したいのです。 いきなり、「http://XXX.XXX.XXX/画面M.JSP」で画面Mに業務ロジックの結果 を表示するにはどのようにすれば良いのでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2006-01-17 21:26
http://XXX.XXX.XXX/画面M.JSP
に対するリクエストをハンドルしてJSPの実行前に 何かしらの処理がしたいって事ですよね。 どうしても[.jsp]というアドレスにこだわるのであれば、 サーブレットフィルタ等もありますが、 何かしらの処理を実行してから画面M.JSPに遷移するアクションクラスを作って、 http://XXX.XXX.XXX/画面M.do にアクセスするのがいいと思いますよ。 | ||||
|
投稿日時: 2006-01-18 09:32
それは、Struts の流儀ではありません。方向性が間違っています。 Struts では、 http://host/画面M出力アクション.do のようにすることで、JSP の物理ファイル名を隠蔽することを目指しています。 仕様変更によりJSPを差し替えても、サーバ側の設定変更だけで済むわけです。 | ||||
|
投稿日時: 2006-01-19 17:34
ご返信いただきまして、ありがとうございます。
画面M.doの方向で考えたいと思います。 |
1