- - PR -
メニュ画面の2重表示
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-02-20 09:35
原因が分かる方はご教授ください。
宜しくお願いいたします。 |
|
投稿日時: 2006-02-25 10:32
自己返信です。
この問題は今も解決できませんでした。 大変悩んでいます。メニューリストの中に「・・・」の部分は 同じ構造のメニュー項目です。全てのメニュー項目を連続でクリックすると、 必ずサービス画面にメニューが表示されてしまいます。ただ、上の一部分メニュー項目、 或いは下の一部分メニュー項目を連続でクリックしても問題が出てきませんでした。 何か解決できそうなヒントがあればご教授ください。 宜しくお願いいたします。 |
|
投稿日時: 2006-02-25 11:41
JSFはさわったことないので一般論しか言えないのですが、私は問題を追究するとき以下のような手順で調べます。
まず ・シンプルな、問題の起こらないアプリケーションを作る または ・目的の動作をする、問題の起こらないサンプルを探し出す 次に、問題の起こるアプリケーションと比較します。 違いがわからなければ、問題の起こるアプリケーションの余計な部分をどんどん切り落としてシンプルにしていき、問題アプリケーションに近づけていきます。 |
|
投稿日時: 2006-03-01 11:06
ひとまず以下の環境で「2006-02-16 13:25」に記されたJSPを動作させたところ、Mxfullさんのおっしゃるような現象は確認できませんでした。
----------------------- Windows XP Professional Internet Explorer 6 J2SE 1.4.2_08 Tomcat 4.1.31 MyFaces 1.1.0 ----------------------- そこで、元のソースを適宜コピペして以下のようにメニュー項目を増やしてみました。 ----------------------- −日報(※2) −マスタメンテ1(※1) −プロジェクト管理1−1(※2) −プロジェクト管理1−2(※2) −プロジェクト管理1−3(※2) −マスタメンテ2(※1) −プロジェクト管理2−1(※2) −プロジェクト管理2−2(※2) −プロジェクト管理2−3(※2) ※1:クリックすると子要素を開閉する ※2:クリックすると右フレームにサービスを表示する ----------------------- この状態でいろいろな要素をめったやたらとクリック(※1や※2同士の連続クリックや※1※2を混在しての連続クリック、はたまたそれらのクリックをダブルクリックに変えた操作を実行)しまくってみたのですが、これもMxfullさんのおっしゃるような現象は確認できませんでした。 ひとまず、調査するにあたり「サービス画面にメニューが表示される」という現象を「再現するための最小コード」と「再現するための手順」「再現するための環境の説明」があると良いのですが、これらの情報を追記して頂く事は可能でしょうか。 (これらの情報を得る過程、およびそれ以降に実施する作業はインギさんの記された内容と同じものです) [ メッセージ編集済み 編集者: t_yamo 編集日時 2006-03-01 11:10 ] |
|
投稿日時: 2006-03-01 12:39
Mxfullさんの現象が再現できないので断定できませんが、
以下の原因が考えられます。 @ダブルクリック防止の Filter が配備されている。 ASession がタイムアウトしている。 @の場合はフレームBのソースに <script type="text/javascript"> function refreshA() { parent.A.location = "フレームAのアドレス"; } </script> <body onload="refreshA();"> のような記述をすれば回避できると思います。 Aの場合は Session を作り直す処理を Filter に記述すればいいと思います。 |
|
投稿日時: 2006-03-01 15:57
t_yamoさん、ご教授有難うございます。
マスタメンテ1のメニュー項目は7個まで追加し マスタメンテ2のメニュー項目は8個まで追加して見ていただけませんか? また、ナビゲーションでメニュー項目をクリックしたら JSPのページを表示させてください。 そうすると、メニューの頭から連続でクリックすればかならずその現象が見れます。 メニュー項目がある数に上らなければその現象が出てきません。 宜しくお願いいたします。 |
|
投稿日時: 2006-03-01 16:49
ひとまず「マスタメンテ1」を7個、「マスタメンテ2」を8個にしてみましたが、当該の現象は現れませんでした。
その後、何となく「マスタメンテ1」を10個、「マスタメンテ2」を13個にしてみましたが、これも当該の現象は現れませんでした。 JSFのコンポーネントの描画の数で挙動が変わるというのは考えにくいので、やはり#{projectJP.init}あたりで何かが起きているような気もします。 Mxfullさんの環境で#{projectJP.init}の代わりに適当な定数("dummyPage"とか)を直接指定し、それに対する設定をfaces-config.xmlに設定した場合でも同様の現象が発生するのでしょうか(このときfaces-config.xmlに設定するJSPはページディレクティブ以外にJSFやJSPのタグを一切使わないものとします)。 ひとまず、新規に同様の構造を持つ最小のアプリケーションを作り、現象を再現させてみるのが近道だと思います。 現象が再現できない場合はインギさんの仰るような手順で調査することになります。 現象が再現できた場合はそのソースを元に原因を調査することになります(ソースの規模が小さい場合はこの掲示板に公開することもできるかと思います)。 |
|
投稿日時: 2006-03-01 18:16
t_yamoさん、有難うございます。
こちらの確認で#{projectJP.init}の代わりに適当な定数を直接指定すれば、 問題がないようですが、#{projectJP.init}をチェックした所、Nullを返さないし、 問題がなさそうです。 簡単な再現できるPGを作れば、掲示板に貼り付けて見ていただければ助かります。 |