JakartaEE JSPでHTMLとJavaを組み合わせる方法を完全解説!初心者でもわかる動的ページ作成
生徒
「先生、JakartaEEのJSPではHTMLとJavaを一緒に書けるって聞いたんですが、どういう仕組みなんですか?」
先生
「JSPではHTMLにJavaコードを埋め込むことができるので、見た目の部分と動的な処理をひとつのファイルで表現できます。」
生徒
「なるほど!それって具体的にはどうやって書くんですか?」
先生
「それでは、実際にHTMLとJavaを組み合わせる方法を詳しく見ていきましょう。」
1. JSPでHTMLとJavaを組み合わせる基本
JakartaEEのJSP(Jakarta Server Pages)は、HTMLの中にJavaコードを直接記述できる仕組みを持っています。これにより、静的なHTMLだけでは実現できない動的なWebページを簡単に作成できます。例えば、ユーザーごとに異なるメッセージを表示したり、データベースから取得した情報を画面に埋め込むといった処理が可能です。
通常のHTMLファイルでは常に同じ内容しか表示できませんが、JSPではJavaのロジックを組み合わせることで動的に内容を変化させることができます。これがJSPを学ぶ大きなメリットです。
2. スクリプトレットでJavaを埋め込む
JSPでHTMLとJavaを組み合わせる最も基本的な方法がスクリプトレットです。スクリプトレットは<% ... %>で囲み、その中にJavaコードを書きます。以下は日時を表示するサンプルです。
<!DOCTYPE html>
<html>
<head>
<title>JSPサンプル</title>
</head>
<body>
<h1>現在の日時</h1>
<%
java.util.Date now = new java.util.Date();
out.println("現在時刻は: " + now);
%>
</body>
</html>
このようにHTMLの中にJavaを直接書くことで、ページを表示するたびに異なる結果を出力できます。ただし、スクリプトレットを使いすぎるとコードが読みにくくなるため、バランスを考えて利用することが重要です。
3. 式(Expression)を使った簡単な埋め込み
JSPにはスクリプトレット以外に式(Expression)という記述方法があります。これは<%= ... %>を使って、計算結果や変数の値を直接HTMLに出力する方法です。
<html>
<body>
<h2>ようこそ!</h2>
<p>現在の時間は <%= new java.util.Date() %> です。</p>
</body>
</html>
スクリプトレットよりも短く書けるため、単純な値を表示する場合に便利です。例えば、ユーザー名やメッセージを画面に表示するときによく使われます。
4. 宣言でメソッドを定義する
さらに、宣言(Declaration)を使うと、JSP内でメソッドや変数を定義できます。書き方は<%! ... %>を使います。
<%!
public String greet(String name) {
return "こんにちは " + name + " さん!";
}
%>
<html>
<body>
<p><%= greet("太郎") %></p>
</body>
</html>
このように書くと、メソッドを再利用できるためコードの整理がしやすくなります。ただし、複雑なロジックはサーブレットや別クラスに分ける方が良いとされています。
5. JSPでHTMLとJavaを組み合わせるときのポイント
- スクリプトレットを使って複雑な処理を埋め込める。
- 式を使えば簡単に値を表示できる。
- 宣言を使うとメソッドや変数を定義して再利用できる。
- HTMLの中にJavaを入れすぎると可読性が下がるので注意する。
初心者がJSPを学ぶ際には、まずスクリプトレットと式を使ったシンプルな組み合わせを練習することをおすすめします。HTMLの見た目を保ちながらJavaの処理を組み合わせる技術は、JakartaEEで動的Webアプリケーションを作成する基礎力となります。