検索

キーワード


【Java】JSPの基本的な構文

  • 公開日:2020-10-21 16:32:14
  • 最終更新日:2020-11-13 21:41:01
【Java】JSPの基本的な構文

こんにちは。エンジニアの新田です!
ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。
今回は、JSPを使ってコーディングする場合の基本的な構文について紹介します。

Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!

関連記事:【Java】JSPのディレクティブ 【Java】JSPの暗黙オブジェクト 【Java】JSPのアクションタグ 【Java】JSPのEL式 【Java】JSPでタグライブラリを使う(JSTL)


JSPの基本的な構文

コメントの記述方法

JSPでコメントを記述する方法は2種類あります。

■JSPのコメント

<%-- コメントを記述 --%>
  • 開発者用の隠しコメント
  • レスポンスには含まれないので、ブラウザ上では確認できない。(HTMLソースに表示されない)

■HTMLのコメント

<!-- コメントを記述 -->
  • レスポンスに含まれるので、ブラウザ上で確認できる。(HTMLソースに表示される)
  • HTMLの通常のコメントと同じ


スクリプト要素

宣言(Declarations)

JSP内でフィールドの宣言やメソッドの定義をおこなう事ができます。

<%! 宣言を記述 %>


■フィールドの宣言

<%! public int i; %>
  • JSPページが最初に呼び出されたときに初期化される
  • サーブレットコンテナ(Tomcatなど)が起動している間は有効
  • スクリプトレット内のJavaコードで宣言された変数はローカル変数となり、毎回初期化される

メソッドの定義

<%! public int method(int i) {
    return i*i;
}
%>
  • 「out」「session」などの暗黙オブジェクトは全て利用できない


スクリプトレット(Scriptlets)

Javaのコードを記述する事ができます。

<% Javaコードを記述 %>


■スクリプトレットの例①

実行したいコードをJavaの構文に従ってそのまま記述します。

<%
int total = 0;
for (int i = 0 ; i <= 10 ; i++){
    total = total + i;
}
out.println("合計は" + total + "です");
%>
  • メソッドの定義は記述できない
  • スクリプトレットで宣言する変数はローカル変数となる(「宣言」で 宣言するフィールドとは区別される)
  • 「out」「session」などの暗黙オブジェクトが利用できる


■スクリプトレットの例②

Javaコードの中にHTMLタグを挿入したい場合は、スクリプトレットを分割することも可能です。(複数のスクリプトレットに分割されてもJavaコードが完結していれば良い)

<%
int total = 0;
for (int i = 0 ; i <= 10 ; i++){
    total = total + i;
}
%>

計算結果は、
<% if (total >= 100) { %>
100以上の値です
<% } else { %>
100未満の値です
<% } %>
  • スクリプトレットが1つのJSPページ内で分かれていても変数名などは共有して使われる



【式(Expressions)】

式の内容を評価し、その結果を文字列に変換して出力することができます。

<%= 式(変数名など) %>
  • 式の最後には、「;(セミコロン)」は付けない
  • 式には、数式、変数、戻り値のあるメソッドなどが指定できる

■式の例①

<%= 35 * 24 %>
<%= "文字列を表示" %>
<%= a + b %>
<%= obj.getPrice() %>


■式の例②

HTMLと組み合わせて使うこともできます。

<%
int total = 0;
for (int i = 0 ; i <= 10 ; i++){
    total = total + i;
}
%>

計算結果は、<%= total %>です。





関連記事:【Java】JSPのディレクティブ 【Java】JSPの暗黙オブジェクト 【Java】JSPのアクションタグ 【Java】JSPのEL式 【Java】JSPでタグライブラリを使う(JSTL)




【著者】

新田

JavaメインのWebアプリケーション開発に多く携わっています。
Javaの基本的な部分の紹介や、これまで経験したシステム開発手法、新しい技術についても紹介していこうと思います。

よく読まれている記事
【Java】JSPでタグライブラリを使う(JSTL)

【Java】JSPでタグライブラリを使う(JSTL)

こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!そもそもStringとは何?『 String 』... Java言語において文字列のデータ型を指します。基本デ

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!Stringクラスformatメソッドの文字列整形【java.utilパッケージ】Formatterクラスfo

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者にも✅、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!文字列を扱う3つのクラス【java.langパッケージ】java.langパッケージの文字列を扱うクラスにはS

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!プリミティブ型と参照型プログラム開発では型を持った変数を使ってデータのやり取りをしますが、データ型によって仕様