【JavaWebアプリ入門 #11】JSPディレクティブ

 

みのる
こんにちは。笑顔で感謝!✨ みのるコーチです。
今回も、ご覧いただき、ありがとうございます。

今回は…

JavaWebアプリ入門 #11
JSPディレクティブ

というテーマでお送りします。

彩香
JSP が 便利なこと、分かってきました。
今回も 全集中で頑張ります。宜しくお願いします。
剛留
今回も、よろしくお願いします。

【1】 JSPのタグ

前回、こんな話をしましたね。

サーブレットでレスポンス生成する時には…

PrintWriter型のオブジェクトの
println()メソッドを使って、HTMLを書き出していました。

これって、大変だよね~という話があって…。

HTMLの形式を書き出したいのだから
この HTML を主体にコーディングできたら…

ということで

JSP があります!

と お話しました。

JSPで表現すれば
基本的に HTMLのタグを使って表せて…

部分的にJSP独自のタグを組み込んで

Javaの機能を使うことができるんです。

そして、その JSPのタグは…

大枠では…

✅ コメント
✅ スクリプト
✅ ディレクティブ
✅ アクションタグ

に分けられます。

前回は、コメントとスクリプト
について見てきましたので…

今回は、ディレクティブの中の…

✅ pageディレクティブ
✅ includeディレクティブ

をお伝えします。

【2】 ディレクティブ

JSPリクエストがあると、Webコンテナは
内部的に Java(サーブレット)に変換して…

コンパイルして…

インスタンス化して…

そして、実行する

…という手順を踏みます。

この中で、ディレクティブタグは…

JSPを処理するために 必要な情報を
Webコンテナに 伝えるためのタグです。

それでは、早速 見ていきましょう。

① page ディレクティブ

まずは、page ディレクティブ です。

<%@ page 属性名=”属性値” %>

の形で記述します。

pageディレクティブは

JSPファイル全体の情報

を 記述します。

属性として主に、このようなものがあります。

language属性 は 言語の指定を行います。
ここは、固定で “java” を設定します。

contentType属性は
レスポンスのタイプと文字コードです。

文字の情報で html形式です。文字コードは UTF-8 です。
という意味で、このように記述します。

pageEncoding属性は、JSPファイルの文字コードです。
今回は、UTF-8 で進めていきましょう。

import属性は クラスやインタフェースを
インポートする場合に使用します。

ただし、これらのパッケージは デフォルトで
インポートされますので、import属性で指定する必要はありません。

✅ java.lang.*
✅ javax.servlet.*
✅ javax.servlet.jsp.*
✅ javax.servlet.http.*

この例のように…

language, contentType, pageEncoding は
定型的に指定できるものです。

eclipseが雛形として作成してくれますので
必要に応じて、追加・変更していくようにしましょう。

② include ディレクティブ

次が、includeディレクティブです。

<%@ include file=”ファイル名” %>

この形で、別のJSPファイルの内容を挿入します。

ファイル名は、相対パスで指定します。

相対パスは…

同じフォルダ内のファイルであれば
ファイル名だけで指定

して…

「あるフォルダ」の下のファイルであれば
フォルダ名/ファイル名 と指定

します。

この例では、body要素の先頭で
header-navi.jsp をインクルードしています。

includeディレクティブ の多くは、定型的な内容を
複数のJSPで共有する場合に使用します。

【まとめ】

【1】 JSPのタグ
✅ JSPは HTMLの表現に加えて
  JSP独自のタグを使って
  Javaの機能を活用できる。
【2】 ディレクティブ
(今回は ディレクティブタグとして2つ見てきました)

✅ pageディレクティブ
✅ includeディレクティブ