JSP-構文

この章では、JSPの構文について説明します。JSP開発に関連する単純な構文(つまり、要素)の基本的な使用法を理解します。

JSPの要素

JSPの要素を以下に説明します-

スクリプトレット

スクリプトレットには、ページスクリプト言語で有効なJAVA言語ステートメント、変数またはメソッドの宣言、または式をいくつでも含めることができます。

スクリプトレットの構文は次のとおりです-

<% code fragment %>

上記の構文に相当するXMLを次のように記述できます-

<jsp:scriptlet>
   code fragment
</jsp:scriptlet>

作成するテキスト、HTMLタグ、またはJSP要素は、スクリプトレットの外部にある必要があります。以下は、JSPの簡単で最初の例です。

<html>
   <head><title>Hello World</title></head>
   
   <body>
      Hello World!<br/>
      <%
         out.println("Your IP address is " + request.getRemoteAddr());
      %>
   </body>
</html>

NOTE − Apache TomcatがC:\ apache-tomcat-7.0.2にインストールされており、環境が環境セットアップチュートリアルに従ってセットアップされていると仮定します。

上記のコードをJSPファイルに保存しましょう hello.jsp このファイルを C:\apache-tomcat7.0.2\webapps\ROOTディレクトリ。URLを使用して同じものを閲覧するhttp://localhost:8080/hello.jsp。上記のコードは次の結果を生成します-

JSP宣言

宣言は、JSPファイルの後半でJavaコードで使用できる1つ以上の変数またはメソッドを宣言します。JSPファイルで使用する前に、変数またはメソッドを宣言する必要があります。

以下は、JSP宣言の構文です。

<%! declaration; [ declaration; ]+ ... %>

上記の構文に相当するXMLを次のように記述できます-

<jsp:declaration>
   code fragment
</jsp:declaration>

以下はJSP宣言の例です-

<%! int i = 0; %> 
<%! int a, b, c; %> 
<%! Circle a = new Circle(2.0); %>

JSP式

JSP式要素には、評価され、文字列に変換され、JSPファイルの式が表示される場所に挿入されるスクリプト言語式が含まれています。

式の値は文字列に変換されるため、JSPファイルでは、HTMLでタグ付けされているかどうかに関係なく、テキスト行内で式を使用できます。

式要素には、Java言語仕様に従って有効な任意の式を含めることができますが、セミコロンを使用して式を終了することはできません。

以下はJSP式の構文です-

<%= expression %>

上記の構文に相当するXMLを次のように記述できます-

<jsp:expression>
   expression
</jsp:expression>

次の例は、JSP式を示しています-

<html> 
   <head><title>A Comment Test</title></head> 
   
   <body>
      <p>Today's date: <%= (new java.util.Date()).toLocaleString()%></p>
   </body> 
</html>

上記のコードは次の結果を生成します-

Today's date: 11-Sep-2010 21:24:25

JSPコメント

JSPコメントは、JSPコンテナが無視する必要のあるテキストまたはステートメントをマークします。JSPコメントは、JSPページの一部を非表示または「コメントアウト」する場合に役立ちます。

以下はJSPコメントの構文です-

<%-- This is JSP comment --%>

次の例は、JSPコメントを示しています-

<html> 
   <head><title>A Comment Test</title></head> 
   
   <body> 
      <h2>A Test of Comments</h2> 
      <%-- This comment will not be visible in the page source --%> 
   </body> 
</html>

上記のコードは次の結果を生成します-

A Test of Comments

特別に扱われるコメントや文字を挿入するためにさまざまな場合に使用できる特別な構成がいくつかあります。これが要約です-

S.No. 構文と目的
1

<%-- comment --%>

JSPコメント。JSPエンジンでは無視されます。

2

<!-- comment -->

HTMLコメント。ブラウザによって無視されます。

3

<\%

静的<%リテラルを表します。

4

%\>

静的%>リテラルを表します。

5

\'

一重引用符を使用する属性内の一重引用符。

6

\"

二重引用符を使用する属性の二重引用符。

JSPディレクティブ

JSPディレクティブは、サーブレットクラスの全体的な構造に影響を与えます。通常、次の形式になります-

<%@ directive attribute="value" %>

ディレクティブタグには3つのタイプがあります-

S.No. 指令と説明
1

<%@ page ... %>

スクリプト言語、エラーページ、バッファリング要件など、ページに依存する属性を定義します。

2

<%@ include ... %>

翻訳フェーズ中にファイルを含めます。

3

<%@ taglib ... %>

ページで使用されるカスタムアクションを含むタグライブラリを宣言します

私たちは、別の章でJSPディレクティブを説明するだろうディレクティブ- JSP

JSPアクション

JSPアクションは constructsサーブレットエンジンの動作を制御するためのXML構文。ファイルを動的に挿入したり、JavaBeansコンポーネントを再利用したり、ユーザーを別のページに転送したり、JavaプラグインのHTMLを生成したりできます。

Action要素はXML標準に準拠しているため、構文は1つだけです。

<jsp:action_name attribute="value" />

アクション要素は基本的に事前定義された関数です。次の表に、使用可能なJSPアクションを示します-

S.No. 構文と目的
1

jsp:include

ページが要求されたときにファイルが含まれます。

2

jsp:useBean

JavaBeanを検索またはインスタンス化します。

3

jsp:setProperty

JavaBeanのプロパティを設定します。

4

jsp:getProperty

JavaBeanのプロパティを出力に挿入します。

5

jsp:forward

リクエスターを新しいページに転送します。

6

jsp:plugin

JavaプラグインのOBJECTまたはEMBEDタグを作成するブラウザ固有のコードを生成します。

7

jsp:element

XML要素を動的に定義します。

8

jsp:attribute

動的に定義されたXML要素の属性を定義します。

9

jsp:body

動的に定義されたXML要素の本体を定義します。

10

jsp:text

JSPページおよびドキュメントにテンプレートテキストを書き込むために使用されます。

JSPアクションについては別の章で説明しますJSP-アクション

JSP暗黙オブジェクト

JSPは、暗黙オブジェクトとも呼ばれる9つの自動定義変数をサポートします。これらの変数は−です

S.No. オブジェクトと説明
1

request

これは HttpServletRequest リクエストに関連付けられたオブジェクト。

2

response

これは HttpServletResponse クライアントへの応答に関連付けられたオブジェクト。

3

out

これは PrintWriter クライアントに出力を送信するために使用されるオブジェクト。

4

session

これは HttpSession リクエストに関連付けられたオブジェクト。

5

application

これは ServletContext アプリケーションコンテキストに関連付けられたオブジェクト。

6

config

これは ServletConfig ページに関連付けられているオブジェクト。

7

pageContext

これにより、パフォーマンスの向上などのサーバー固有の機能の使用がカプセル化されます JspWriters

8

page

これは単にの同義語です this、および変換されたサーブレットクラスによって定義されたメソッドを呼び出すために使用されます。

9

Exception

ザ・ Exception オブジェクトを使用すると、指定されたJSPから例外データにアクセスできます。

私たちは、別の章ではJSP暗黙オブジェクトを説明するだろう暗黙オブジェクト- JSP。

制御フローステートメント

意思決定ステートメント、ループなどを含む、JSPプログラミングでJavaのすべてのAPIとビルディングブロックを使用できます。

意思決定ステートメント

ザ・ if...else ブロックは通常のスクリプトレットのように始まりますが、スクリプトレットは各行で閉じられ、スクリプトレットタグの間にHTMLテキストが含まれています。

<%! int day = 3; %> 
<html> 
   <head><title>IF...ELSE Example</title></head> 
   
   <body>
      <% if (day == 1 || day == 7) { %>
         <p> Today is weekend</p>
      <% } else { %>
         <p> Today is not weekend</p>
      <% } %>
   </body> 
</html>

上記のコードは次の結果を生成します-

Today is not weekend

今、以下を見てください switch...case を使用して少し異なって書かれたブロック out.println() およびScriptletasの内部-

<%! int day = 3; %> 
<html> 
   <head><title>SWITCH...CASE Example</title></head> 
   
   <body>
      <% 
         switch(day) {
            case 0:
               out.println("It\'s Sunday.");
               break;
            case 1:
               out.println("It\'s Monday.");
               break;
            case 2:
               out.println("It\'s Tuesday.");
               break;
            case 3:
               out.println("It\'s Wednesday.");
               break;
            case 4:
               out.println("It\'s Thursday.");
               break;
            case 5:
               out.println("It\'s Friday.");
               break;
            default:
               out.println("It's Saturday.");
         }
      %>
   </body> 
</html>

上記のコードは次の結果を生成します-

It's Wednesday.

ループステートメント

Javaでは、次の3つの基本的なタイプのループブロックを使用することもできます。 for, while, and do…while JSPプログラミングのブロック。

以下を見てみましょう for ループの例-

<%! int fontSize; %> 
<html> 
   <head><title>FOR LOOP Example</title></head> 
   
   <body>
      <%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
         <font color = "green" size = "<%= fontSize %>">
            JSP Tutorial
      </font><br />
      <%}%>
   </body> 
</html>

上記のコードは次の結果を生成します-

JSP Tutorial 
JSP Tutorial
JSP Tutorial

上記の例は、 while 次のようにループします-

<%! int fontSize; %> 
<html> 
   <head><title>WHILE LOOP Example</title></head> 
   
   <body>
      <%while ( fontSize <= 3){ %>
         <font color = "green" size = "<%= fontSize %>">
            JSP Tutorial
         </font><br />
         <%fontSize++;%>
      <%}%>
   </body> 
</html>

上記のコードは次の結果を生成します-

JSP Tutorial 

 JSP Tutorial 

 JSP Tutorial

JSP演算子

JSPは、Javaでサポートされているすべての論理演算子と算術演算子をサポートしています。次の表に、優先順位が最も高いすべての演算子を表の上部に表示し、優先順位が最も低い演算子を下部に表示します。

式内では、優先順位の高い演算子が最初に評価されます。

カテゴリー オペレーター 結合性
Postfix ()[]。(ドット演算子) 左から右へ
単項 ++ ----!〜 右から左へ
乗法 * /% 左から右へ
添加剤 +- 左から右へ
シフト >> >>> << 左から右へ
関連した >> = << = 左から右へ
平等 ==!= 左から右へ
ビットごとのAND 左から右へ
ビット単位のXOR ^ 左から右へ
ビットごとのOR | 左から右へ
論理積 && 左から右へ
論理OR || 左から右へ
条件付き ?: 右から左へ
割り当て = + =-= * = / =%= >> = << =&= ^ = | = 右から左へ
コンマ 左から右へ

JSPリテラル

JSP式言語は、次のリテラルを定義します-

  • Boolean −真と偽

  • Integer −Javaのように

  • Floating point −Javaのように

  • String−一重引用符と二重引用符付き。"は\"としてエスケープされ、 'は\'としてエスケープされ、\は\\としてエスケープされます。

  • Null − null