カテゴリ: JSP 更新日: 2026/03/07

JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介

JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介

先生と生徒の会話形式で理解しよう

生徒

「JSPで使えるタグって色々あるみたいですけど、どれを覚えればいいんですか?」

先生

「JSPには基本的なタグがいくつかあり、実務でよく使われるものを知っておくと開発がスムーズになりますよ。」

生徒

「種類が多すぎて混乱します…。よく使う基本タグをまとめて教えてもらえませんか?」

先生

「それでは、実務でも頻出のJSP基本タグをひとつずつ整理して紹介しましょう!」

1. JSPタグとは?基本の構造を理解しよう

「1. JSPタグとは?基本の構造を理解しよう」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

1. JSPタグとは?基本の構造を理解しよう
1. JSPタグとは?基本の構造を理解しよう

JSPタグとは、HTMLの中にJavaの処理を組み込むための特別な書き方です。 通常のHTMLは画面を表示する役割しか持ちませんが、JSPタグを使うことで、 サーバー側で計算した結果やデータベースの情報を画面に表示できるようになります。 そのため、JSPは「動的なWebページ」を作るための技術として使われます。

JSPファイルは見た目はHTMLとほぼ同じですが、一部にJSPタグを記述することで、 サーバーで処理された結果がHTMLとしてブラウザに送られる仕組みになっています。 プログラミング未経験の方は、「HTMLに少しだけ特別なタグを足したもの」 と考えると理解しやすいでしょう。

JSPには用途ごとにいくつかのタグが用意されており、代表的な種類は次のとおりです。

  • ディレクティブタグ:JSP全体の設定を行う
  • スクリプトレットタグ:Javaの処理を直接書く
  • 式タグ:値を画面に表示する
  • 宣言タグ:メソッドや変数を定義する
  • アクションタグ:決まった処理をタグ形式で実行する
  • JSTLタグ:条件分岐や繰り返しを簡単に書く

まずは「JSPタグには役割ごとに種類がある」という点を押さえておくことが大切です。


<%-- とても簡単なJSPの例 --%>
<p>こんにちは!これはJSPのページです。</p>

上記のように、基本はHTMLを書き、必要に応じてJSPタグを追加していくのが JSP開発の基本的な考え方になります。

2. ディレクティブタグ:JSPファイルの設定を行うタグ

2. ディレクティブタグ:JSPファイルの設定を行うタグ
2. ディレクティブタグ:JSPファイルの設定を行うタグ

ディレクティブタグは、JSPページ全体の「ルール」や「前提」を決めるためのタグです。 画面に直接表示されるものではなく、JSPをどう動かすかをサーバーに伝える設定だと思ってください。 そのため、多くの場合はJSPファイルの先頭付近にまとめて書きます。

よく使われるのは次の3種類で、実務でも頻出です。

  • page:文字コードやコンテンツ種類、importなどページ全体の基本設定
  • include:共通のヘッダーなどを静的に読み込んで使い回す
  • taglib:JSTLなどのタグライブラリを使うための宣言

たとえば「文字化けを防ぎたい」「Javaのクラスを使いたい」「共通レイアウトを読み込みたい」 といったときに、ディレクティブタグが登場します。初心者のうちは、まず pageで文字コードを合わせるところから覚えるとスムーズです。


<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="java.util.Date" %>
<%@ include file="header.jsp" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

上の例では、contentTypeでJSPの出力をUTF-8に指定しているため、文字化け対策になります。 また、importでJavaのクラスを使えるようにし、includeで共通ファイルを読み込んでいます。 最後のtaglibは「このJSPではJSTLを使います」という宣言で、JSP開発では定番の書き方です。

3. スクリプトレットタグ:Javaコードを直接書く

3. スクリプトレットタグ:Javaコードを直接書く
3. スクリプトレットタグ:Javaコードを直接書く

スクリプトレットタグは <% 〜 %> の形式で、JSPの中にJavaコードをそのまま書けるタグです。 HTMLの途中に処理を差し込めるため、条件分岐や文字列の組み立てなどを直感的に記述できます。 JSPを学び始めたばかりの頃は、「HTMLの中でJavaが動いている」感覚をつかむのに役立つ存在です。

たとえば、画面に表示するメッセージをJavaで作り、その結果を出力したい場合、 スクリプトレットを使うと次のように書けます。


<%
    String name = "JSP学習中";
    out.println("こんにちは、" + name + "さん!");
%>

この例では、Javaで文字列変数を作り、その内容を画面に表示しています。 out.println() は「画面に出力するための命令」で、 JSPではスクリプトレット内からHTMLへ文字を表示するときによく使われます。

ただし、スクリプトレットはHTMLとJavaのコードが混ざりやすく、 ページが読みにくくなりがちです。そのため、最近の開発では JSTLやEL式に置き換えられることが多いですが、 既存のJSPでは今も使われているため、仕組みを理解しておくことは大切です。

4. 式タグ:値を出力するための簡単な記述

「4. 式タグ:値を出力するための簡単な記述」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

4. 式タグ:値を出力するための簡単な記述
4. 式タグ:値を出力するための簡単な記述

式タグは <%= 〜 %> の形で書き、Javaの値をそのまま画面に表示したいときに使います。 「計算した結果を1行だけ出したい」「変数の中身をその場で見せたい」といった場面で便利で、 JSPの中ではいちばん手軽な出力方法のひとつです。

やっていることは out.print()(画面に文字を出す命令)と同じで、 式タグはその省略形だと思うと理解しやすいです。 ただし、式タグの中に書けるのは“値として返せるもの”だけで、複数行の処理を書く用途には向きません。


<p>現在日時:<%= new java.util.Date() %></p>

上の例では、Javaで「現在日時」を作り、その結果を <p> タグの中に差し込んで表示しています。 つまり、HTMLの文章の途中に「ここだけJavaの結果を入れる」という使い方ができます。 初心者のうちは、まずは固定の文字と値を組み合わせて表示する感覚をつかむのがおすすめです。


<%
    String name = "田中";
%>
<p>ようこそ、<%= name %>さん!</p>

この例では、変数 name の中身を式タグで表示しています。 画面に出したい値が1つだけなら、<%= 〜 %> を使うとスッキリ書けます。 なお、実務では表示方法を統一するために別の書き方が選ばれることもありますが、 既存のJSPでは式タグを見かけることも多いので、読み方として覚えておくと安心です。

5. 宣言タグ:メソッドやフィールドを定義する

5. 宣言タグ:メソッドやフィールドを定義する
5. 宣言タグ:メソッドやフィールドを定義する

宣言タグは<%! 〜 %>という形式で、クラスレベルで使うメソッドや変数を定義します。


<%! 
    public String getMessage() {
        return "これは宣言タグで定義したメソッドです。";
    }
%>

<p><%= getMessage() %></p>

使用頻度は高くありませんが、複雑なロジックをJSP内に閉じ込めたい場合に使われます。

6. アクションタグ:XML形式で処理を記述

6. アクションタグ:XML形式で処理を記述
6. アクションタグ:XML形式で処理を記述

アクションタグは、JSPでよく使われる<jsp:〜>という構文のタグ群です。代表的なものには以下があります。

  • <jsp:include>:他のJSPを動的に読み込む
  • <jsp:forward>:他のページへ処理を移す
  • <jsp:param>:パラメータを渡す

<jsp:include page="menu.jsp" />
<jsp:forward page="login.jsp" />

スクリプトレットより可読性が高く、保守性に優れるため積極的に使いたいタグです。

7. JSTLタグ:実務で頻出の便利タグ

「7. JSTLタグ:実務で頻出の便利タグ」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

7. JSTLタグ:実務で頻出の便利タグ
7. JSTLタグ:実務で頻出の便利タグ

JSTL(JSP Standard Tag Library)は、JSPで条件分岐・繰り返し処理・フォーマット・国際化などを簡潔に記述できるライブラリです。

  • <c:if>:条件分岐
  • <c:forEach>:繰り返し処理
  • <c:out>:値の出力

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<c:if test="${not empty user}">
    <p>ようこそ、${user.name}さん!</p>
</c:if>

<ul>
<c:forEach var="item" items="${itemList}">
    <li>${item}</li>
</c:forEach>
</ul>

JSTLは実務で特に重要なJSPタグで、ロジックの可読性や保守性が大きく向上します。

8. 実務でよく使うJSPタグの使い分け方

8. 実務でよく使うJSPタグの使い分け方
8. 実務でよく使うJSPタグの使い分け方

開発現場では次のような使い分けがよく行われます:

  • 定数や初期設定にはpageディレクティブ
  • 部品の共通化にはincludeディレクティブまたは<jsp:include>
  • 条件や繰り返しにはJSTLタグ
  • 変数の表示には<c:out>式タグ

プロジェクトの方針にもよりますが、スクリプトレットの使用はなるべく避け、JSTLやEL式での記述が推奨される傾向にあります。

まとめ

まとめ
まとめ

本記事では、JSPの基本タグについて体系的に整理し、それぞれの特徴や使いどころを具体的に解説しました。ディレクティブタグやスクリプトレットタグ、式タグや宣言タグ、さらにアクションタグやJSTLタグといった幅広い種類を理解することで、開発現場でのJSP活用がぐっとスムーズになります。特にJSTLは実務で頻繁に利用され、条件分岐や繰り返し処理を簡潔に表現できるため、保守性と可読性の両面で非常に重要です。

また、スクリプトレットタグは歴史的にはよく使われてきましたが、現在では非推奨とされる場面も多いため、現代の開発ではJSTLやEL式に置き換えることが望まれます。ただし既存システムでは依然として残っているケースが多く、読み解く力も必要です。

実務での利用を意識したときに、最もよく登場するのは「ページ全体の設定を担うディレクティブ」「動的な画面構築に役立つアクションタグ」「条件や繰り返しを簡単にするJSTL」の三本柱です。これらを正しく組み合わせることで、効率的かつ保守しやすいWebアプリケーションを構築できます。

以下に、サンプルとしてよくある「JSTLでリストを繰り返し表示するコード」を改めて記載します。実際のプロジェクトでは、これを部品化して利用することで、可読性の高いビューを作成できます。

サンプルプログラム:JSTLでリストを表示


<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<ul>
    <c:forEach var="product" items="${productList}">
        <li>${product.name} - ${product.price}</li>
    </c:forEach>
</ul>

このようにJSPでは、単純なHTMLにロジックを埋め込むのではなく、JSTLを中心に構造化することでメンテナンス性を高められます。長期的に見て、JSPの基本タグを正しく理解することは開発の効率化や品質の向上に直結します。

最後に学んだ内容を振り返るために、先生と生徒の会話形式でポイントを整理しましょう。

先生と生徒の振り返り会話

生徒

「今日学んだJSPのタグはとても多かったですが、特に大事なのはどれでしたか?」

先生

「そうですね。まずはディレクティブタグでページ全体の設定を理解すること、次にアクションタグで画面を組み立てること、そしてJSTLで条件分岐や繰り返しを記述することが重要です。」

生徒

「スクリプトレットタグは使わない方がいいんですよね?」

先生

「はい。新しい開発では避けた方が良いですが、既存システムではまだ残っているので読めるようにしておくと安心です。」

生徒

「なるほど!実務での利用を意識すると、JSTLが特に大事だとわかりました。実際のコード例を見ながら学んだので、すぐに応用できそうです。」

先生

「その調子です。今回の学習でJSPのタグの使い分けを理解したので、次からはより実践的なサンプルに挑戦していきましょう。」

この記事を読んだ人からの質問

「この記事を読んだ人からの質問」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

JSPタグとは何ですか?HTMLとの違いはありますか?

JSPタグはJavaの処理をサーバー側で実行して、結果をHTMLに埋め込むための仕組みです。HTMLは静的な表示のみですが、JSPタグを使うと条件分岐や繰り返し処理など動的な表示が可能になります。

ディレクティブタグの役割は何ですか?

ディレクティブタグはJSPファイル全体の設定を行うためのタグです。主にエンコーディングの指定、Javaクラスのインポート、共通ファイルの読み込み、JSTLライブラリの利用設定などに使われます。
関連記事:
カテゴリの一覧へ
新着記事
New1
Java
JavaのExceptionクラスを完全解説!初心者でも理解できる例外処理の基本
更新記事
New2
Thymeleaf
Thymeleafのth:classappend属性の使い方を完全ガイド!初心者でもわかる動的クラス追加
更新記事
New3
Java
Javaのカプセル化を完全ガイド!初心者でもわかるデータの保護と制御の使い方
更新記事
New4
Servlet
サーブレットでレスポンスを返す方法とは?PrintWriter・JSON・HTMLを初心者向けに解説!
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.3
Java&Spring記事人気No3
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.4
Java&Spring記事人気No4
Java
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法
No.5
Java&Spring記事人気No5
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.6
Java&Spring記事人気No6
Spring
Spring BootのJakarta移行ガイド!初心者向けjavax→jakarta変更ポイント徹底解説
No.7
Java&Spring記事人気No7
Java
Java開発環境「Eclipse(Pleiades)」のインストール方法とメリットを初心者向けに解説
No.8
Java&Spring記事人気No8
Thymeleaf
Thymeleafのth:checkedの使い方!チェックボックスON/OFFを動的に制御する方法