- PR -

strutsでframe使用時の画面遷移の管理

1
投稿者投稿内容
ノモン
会議室デビュー日: 2007/02/01
投稿数: 15
投稿日時: 2007-02-01 14:53
strutsでframeを使用してweb画面を作成しております。

frameの画面遷移をjavascriptではなく、外のファイルで管理し、
メンテナンス性を向上させたいと考えております。
struts-config.xmlにて画面の一元管理をした方が良いという記述をみたので、
struts-config.xmlで試みました。

現在の画面は"menu" "body" "footer"の3つのframeで構成された画面があります。
その際、menuで選択した画面を"body"と"footer"に反映させたいのですが、
どのようにしたらよいでしょうか?
1つのフレームを変更することはできます。
(<html:link action="〜" target="〜">にて指定してます)

tiles-defs.xmlのような画面遷移の管理の仕方ができればベストなのですが・・・。
frame使用時には無理なんですかね・・・。

よろしくお願いします。
すみょし
常連さん
会議室デビュー日: 2007/01/25
投稿数: 36
投稿日時: 2007-02-01 15:20
こんにちわ。
フレームをmenuとmain(仮)に分けて、
main(仮)に、bodyとfooterをもつsub1(仮)に遷移させる、
というのは駄目ですか。
フレームの中にさらにフレーム分割されたものを呼ぶ。
管理めんどくさいですけど・・・
見当違いでしたら申し訳ないです。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-02-01 15:31
javascriptによる画面遷移ってつまるところ
HTMLに遷移先をハードコーディングすることを指しているのでしょうかね?
HTMLのAタグによるリンクも含むのでしょうか。

「外のファイルで管理」しようとしているものがいまひとつ不明ですね。
struts-config.xmlはリクエストされたURLに対して呼び出されるアクションの
マッピングを設定するファイルではないのでしょうか。
メニューの項目に対するURLのマッピングではないですよ。

「javascriptでの画面遷移」とやらと
「struts-config.xmlでのURL→処理ロジックの一元管理」は
対象としてるものが違うので比較できる概念ではないはずなのですが…

項目名→URLの管理を外部ファイル化してメンテナンス性を向上させたいのか、
URL→処理ロジックの管理を外部ファイル化してメンテナンス性を向上させたいのか。
まずはそこをはっきりしましょう。
ノモン
会議室デビュー日: 2007/02/01
投稿数: 15
投稿日時: 2007-02-01 15:52
返答ありがとうございます。

引用:

すみょしさんの書き込み (2007-02-01 15:20) より:
フレームをmenuとmain(仮)に分けて、
main(仮)に、bodyとfooterをもつsub1(仮)に遷移させる、
というのは駄目ですか。
フレームの中にさらにフレーム分割されたものを呼ぶ。


なるほど・・・、ただ処理が複雑化しそうですね・・・。
ちょっと考えてみます。

引用:

nagiseさんの書き込み (2007-02-01 15:31) より:
javascriptによる画面遷移ってつまるところ
HTMLに遷移先をハードコーディングすることを指しているのでしょうかね?
HTMLのAタグによるリンクも含むのでしょうか。


HTMLに遷移先をハードコーディングすることを指しており、
HTMLのAタグによるリンクもみます。
画面数が多い上に、各HTMLファイルに同じようなjavascriptがあるので、
うまくまとめられたらと考えてました。

引用:

「外のファイルで管理」しようとしているものがいまひとつ不明ですね。
struts-config.xmlはリクエストされたURLに対して呼び出されるアクションの
マッピングを設定するファイルではないのでしょうか。
メニューの項目に対するURLのマッピングではないですよ。

「javascriptでの画面遷移」とやらと
「struts-config.xmlでのURL→処理ロジックの一元管理」は
対象としてるものが違うので比較できる概念ではないはずなのですが…

項目名→URLの管理を外部ファイル化してメンテナンス性を向上させたいのか、
URL→処理ロジックの管理を外部ファイル化してメンテナンス性を向上させたいのか。
まずはそこをはっきりしましょう。


nagiseさんの仰るとおりに混同していますね。
現段階ではまず、
「項目名→URLの管理を外部ファイル化してメンテナンス性を向上させたい」
という方にあてはまります。
すみょし
常連さん
会議室デビュー日: 2007/01/25
投稿数: 36
投稿日時: 2007-02-01 16:17
>なるほど・・・、ただ処理が複雑化しそうですね・・・。
>ちょっと考えてみます。

呼び出されるフレームから、親フレームの操作をするなら処理は少々面倒になりますが、
呼び出されるフレーム内だけで処理が済む話であれば、こちらの方法はお勧めです。
面倒になるのはstruts-config.xmlで親子関係を考慮する必要と、
JSP自体の親子関係でしょうか。
処理よりむしろモジュール管理がめんどくさくなりますね(^^;
#以前同じことやりました・・・
ノモン
会議室デビュー日: 2007/02/01
投稿数: 15
投稿日時: 2007-02-01 17:14
>面倒になるのはstruts-config.xmlで親子関係を考慮する必要と、
>JSP自体の親子関係でしょうか。
>処理よりむしろモジュール管理がめんどくさくなりますね(^^;
>#以前同じことやりました・・・

実践済みですかぁ。
・・・ということは、現状での複数の画面の同時遷移は難しいということでしょうか。
とりあえず、HTMLベースでの画面遷移は作成済みなので、
できるだけそのまま形を残したまま、楽に開発したいと考えていました。

確かに、同時に画面を変更するのは、menuA⇒menuBに変わるときぐらいなので、
その方法もありですね。
もっと柔軟に考えるようにせねば・・・。
すみょし
常連さん
会議室デビュー日: 2007/01/25
投稿数: 36
投稿日時: 2007-02-01 17:22
HTMLで画面作る以上、同時に一つ以上の画面を遷移させるという処理は無茶な話ですので、前述の手法に行き着いたわけです。
(出来るかもしれませんが、当時は思いつかなかった・・・)

フレーム分割されたJSPからフレーム分割されたJSPを呼べば、
後から画面の構成(フレーム分割数)を変えられても対応は幾分か楽になりますから。

もう一つの手法は、

>現在の画面は"menu" "body" "footer"の3つのframeで構成された画面があります。
>その際、menuで選択した画面を"body"と"footer"に反映させたいのですが、

上記反映をさせる際、同時には無理なので、
1.menu選択
   ↓
2.body反映
   ↓
3.bodyのonLoadでfooterを反映

という小賢しい手法でした。
こちらでも良いですが、余計訳が分からなくなりましたのでお勧めしません(^^;
また、画面の構成(フレームの分割数)を変更せざるを得ない場合、親フレーム自身をリフレッシュしなくてはいけませんし。

[ メッセージ編集済み 編集者: すみょし 編集日時 2007-02-01 17:31 ]
ノモン
会議室デビュー日: 2007/02/01
投稿数: 15
投稿日時: 2007-02-01 17:58
>上記反映をさせる際、同時には無理なので、
>1.menu選択
>   ↓
>2.body反映
>   ↓
>3.bodyのonLoadでfooterを反映
>
>という小賢しい手法でした。
>こちらでも良いですが、余計訳が分からなくなりましたのでお勧めしません(^^;

onLoadを使用するという手もあるんですね。
確かに画面遷移が複雑な場合訳がわからなくなってしまいますね。


>フレーム分割されたJSPからフレーム分割されたJSPを呼べば、
>後から画面の構成(フレーム分割数)を変えられても対応は幾分か楽になりますか
ら。

なるほど。そういうことも想定しているのですね。
どうもありがとうございます。


あとはどうやって画面遷移を管理していくか・・・。
1

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