JSP 構文要素の概要
まず、物事をより明確にするために、JSP 構文要素の簡単な概要を次に示します。
- ディレクティブ: JSP ページ全体に関する情報を伝達します。
- スクリプト要素: これらは、宣言、式、スクリプトレット、コメントなどの Java コーディング要素です。
- オブジェクトとスコープ: JSP オブジェクトは、明示的または暗黙的に作成でき、JSP ページまたはセッションのどこからでも、特定のスコープ内でアクセスできます。
- アクション: オブジェクトを作成するか、JSP 応答の出力ストリームに影響を与えます (またはその両方)。
JSP へのコンテンツの組み込み方法
JSP ファイル内のコンテンツを再利用するためのメカニズムがいくつかあります。
JSP にコンテンツを含める次の4 つのメカニズムは、直接再利用として分類できます: ( 「Head First Servlets and JSP」
から引用した最初の 3 つのメカニズムについて)
1) インクルードディレクティブ:
<%@ include file="header.html" %>
静的:翻訳時に file 属性の値から現在のページにコンテンツを追加します。このディレクティブは、もともと HTML ヘッダーなどの静的レイアウト テンプレートを対象としていました。
2)<jsp:include>
標準アクション:
<jsp:include page="header.jsp" />
動的: ページ属性の値のコンテンツをリクエスト時に現在のページに追加します。JSP からの動的コンテンツを対象としていました。
3) <c:import>
JSTL タグ:
<c:import url=”http://www.example.com/foo/bar.html” />
Dynamic :リクエスト時に、URL 属性の値から現在のページにコンテンツを追加します。によく似て
<jsp:include>
いますが、より強力で柔軟性があります。他の 2 つのインクルードとは異なり、<c:import>
URL は Web Container の外部から取得できます。
4) 前奏曲とコーダ:
静的: 前奏曲とコーダは、ページの最初と最後にのみ適用できます。Web アプリケーションweb.xmlデプロイメント記述子の要素内におよび要素をそれぞれ
追加することにより、JSP ページのグループに
プレリュード(ヘッダーとも呼ばれます) とコーダ
(フッターとも呼ばれ
ます) を暗黙的に含めることができます。詳細はこちら:
• JSP の最初と最後で暗黙的インクルードを構成する
•暗黙的インクルードを定義する<include-prelude>
<include-coda>
<jsp-property-group>
タグ ファイルは、コンテンツを再利用する間接的な方法であり、再利用可能なコンテンツをカプセル化する方法です。タグ ファイルは、カスタム タグとして再利用可能な JSP コードのフラグメントを含むソース ファイルです。
インクルードとタグファイルの目的は異なります。
タグ ファイル(JSP 2.0 で導入された概念) は、カスタム タグを作成するためのオプションの 1 つです。これにより、カスタム タグをすばやく簡単に作成でき。
タグ拡張とも呼ばれるカスタム タグは、他の Java コンポーネントによって提供されるカスタム ロジックと出力を JSP ページに挿入できるようにする JSP 要素です。カスタム タグによって提供されるロジックは、タグ ハンドラと呼ばれる Java オブジェクトによって実装されます。
カスタム タグで実行できるタスクの例には、暗黙的なオブジェクトの操作、フォームの処理、データベースや電子メールやディレクトリなどの他のエンタープライズ サービスへのアクセス、フロー制御の実装などがあります。
あなたの編集について
おそらくあなたの例( 「編集」段落)では、直接インクルードとタグファイルの使用に違いはありません。ただし、カスタム タグには豊富な機能セットがあります。彼らはできる
呼び出しページから渡された属性によってカスタマイズされます。
変数を呼び出しページに戻します。
JSP ページで使用できるすべてのオブジェクトにアクセスします。
互いに通信します。JavaBeans コンポーネントを作成して初期化し、あるタグでその Bean を参照するパブリック EL 変数を作成してから、その Bean を別のタグで使用できます。
相互にネストされ、プライベート変数によって通信します。
また、「Pro JSP 2」: Understanding JSP Custom Tagsからもお読みください。
役に立つ読書。
結論
各タスクに適切なツールを使用してください。
タグ ファイルを使用すると、再利用可能なコンテンツをカプセル化するのに役立つカスタム タグをすばやく簡単に作成できます。
JSPでのインクルードコンテンツについては(ここから引用):
- ファイルがめったに変更されない場合は、include ディレクティブを使用します。最速のメカニズムです。コンテナーが変更を自動的に検出しない場合は、メイン ページ クラス ファイルを削除することで、強制的に変更を有効にすることができます。
- include アクションは、頻繁に変更されるコンテンツに対してのみ使用し、メイン ページがリクエストされるまでどのページを含めるかを決定できない場合にのみ使用します。