スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。

HTMLフレームは使用禁止にすべき

業務画面のレイアウトを見て見ると、
通常、画面TOP位置には画面名称やシステム名等のタイトル情報が表示されます。
画面上部には、検索条件等の入力域や選択COMBO、ボタンなどが配置され、その結果を
表示するのは、その下あたりからと相場が決まっています。検索結果が、複数行
(数百~数千)になる場合も想定すると、HTMLのフレームを使用するのが便利そうだ、
と直感するのは、確かにうなづけます。

しかしHTMLのフレームは、数々の問題を抱えています。
その中でも1番が「クロスサイト・スクリプティング・ホストによる攻撃の危険性がある」
というセキュリティ上の問題です。フレームが独立しており、それ単位で遷移可能という、
そのこと自体がセキュリティ・ホールともいえる。攻撃の隙を与えないのことも画面レイ
アウト設計上の重要課題です。
もう1つの問題点としてフレームは、HTMLとしては、それぞれ独立しているので、JSPも
分割するはめになる。これは、開発工数や保守工数にダイレクトにフィードバックします。
JSPなどは、最も修正頻度の高いObjectで、その修正単位は、1画面単位で発生するはず
です。しかし、1画面:複数JSPとなると、JSP数が乱雑に増加して管理がとても面倒にな
る。さらに印刷の問題もあるし、セッションの問題もある。
やはり1画面:1JSPであるに越したことはない。
(遷移なし画面の場合、1画面:1JSP,遷移が2パターンの場合は1画面:2JSPとなる)

HTMLフレームを使いたい理由は、明細ヘッダー部と明細データ部をフレーム分割して、
ヘッダー部を固定にして数百行の明細データ部をスクロール表示させたいというのが、
ほとんどの理由ではないでしょうか。もし、それだけの理由であれば、HTMLフレームを
使用するのは止めるべきです。使って良いことはなに1つない。
明細ヘッダー部を固定化し明細データ部の複数行をスクロール表示させる方法は他にあり
ます。DHTMLのレイヤーとCSSスタイルによって明細行部に表示しきれない行だったなら、
自動的にスクロールが出現するように設定が可能です。少なくとも1遷移の画面が1JSP
であることは、JSP管理がとてもシンプルになりますしTOTALステップ数は半減するはず。
上記のセキュリティ上の問題は、1画面が1HTMLという構造ですから、クロスサイト・ア
タックもされにくいHTML構造といえます。

<レイヤーとCSSスタイルによるスクロール明細の例>
添付ファイル(SampleHTML.zip)を解凍すると、とりあえず1画面のみサンプルHTMLが
あります。Menu.htmをダブルクリックしてIEから起動するようにしてください。
最初に、セキュリティ保護のためのアクティブ・コンテンツの警告メッセージが表示され
ますから「ブロックされているコンテンツを許可」を選択してください。
これは、HTMLの場合は必ず表示されますが、Tomcatや実機にDeployした場合は表示さ
れなくなります。Menu.htmから選択できるののは、1画面のみとなっています。
レイアウト確認用のサンプルHTMLですから、いろいろ操作すると
Script等がエラーになりますが気にしないでください。

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

承認待ちコメント

このコメントは管理者の承認待ちです
プロフィール

Author:wtar00
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
Powered By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ

ブロとも申請フォーム

この人とブロともになる

QRコード
QR