1、JSPの構成要素
【コア要素】 JSP文法のコアとなる要素で、サーブレットソースに変換される。
・宣言: <%! ~ %>
(宣言で指定した変数は、Javaの「フィールド変数」になる。スレッドセーフでない。)
・スクリプトレット: <% ~ %>
(スクリプトレットでの変数定義は「ローカル変数」であるため、スレッドセーフである)
・式: <%= ~ %>
・コメント: <%-- ~ --%>
・EL式: ${ ~ }
【ディレクティブ】 変換時の設定などを記述するためのタグである。
・<%@ ~ %>
【アクション】 リクエスト時に利用されるJSPタグである。
・標準アクション: <jsp: ~/> 或は<jsp: xxx> ~ </jsp: xxx>
・カスタムアクション: <xxx: xxx> ~ </xxx: xxx>
2、アクション
1)アクション概念
<jsp: ~> という書式のタグはJSPのアクションと呼ばれる。
アクションの実行タイミングはリクエスト時です。
2)includeアクション
動的に実行されたJSPの結果が取り込まれる。
例:
<%@ page contentType="text/html;charset=Shift_JIS" %>
<html>
<head><title>includeアクション</title></head>
<body>
<h1>includeアクション</h1>
<jsp:include page="includeSrc.jsp" />
</body>
</html>
JSPでは、<jsp:include>タグで、他のリソース(JSP、サーブレット、Html)がインクルードできる。
<jsp:include>タグは、サーブレットのRequestDispatcher.include()メソッドと同じ動作をする。
パラメータを指定した場合は、インクルードされるJSPからはgetParameter()メソッドで取得できる。
3、ディレクティブ
1)ディレクティブ概念
<%@ ~ %> タグはJSPのディレクティブと呼ばれる。
ディレクティブの設定が利用されるのは、JSPソースからサーブレットソースに変換されるタイミングです。
2)includeディレクティブ
静的なファイルのインクルードを行う。
例:
<%@include file="common.jsp" %>
<html>
<body>
<%
out.println(new Date());
%>
</html>
</body>
----common.jsp---
<%@page import="java.util.Date" %>
4、JSPのオブジェクトスコープ
JSPは4つのスコープがある。
・ページ
・リクエスト
・セッション
・アプリ
スコープの広さは、ページ < リクエスト < セッション < アプリ
5、JSPページの一括設定
web.xmlの<jsp-property-group>で、複数のJSPを一括で設定できる。