JSP構文
本節では、基本的な文法のJSP開発を紹介します。
スクリプト
Javaスクリプトのステートメントがあれば、彼らはスクリプト言語で有効であるように、変数、メソッド、または式のいずれかの量を含むことができます。
スクリプトの構文:
<% 代码片段 %>
代わりに、あなたはまた、この以下のように、それに相当するXML文を書くことができます。
<jsp:scriptlet> 代码片段 </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>
注:\ apacheの-のtomcat-7.0.2ディレクトリおよび動作環境が正しく設定されています:Apache Tomcatは既にCにインストールされていることを確認してください。
\ apacheの-tomcatに-7.0.2 \ webappsの\の下にROOTディレクトリ、アドレスバーにhttpでブラウザの種類を開く:// localhostを:8080 /ハロー上記のコードは、Cに配置し、その後Hello.jspの中に格納され、 .jspを。 以下の結果を実行した後:
中国のコーディングの問題
我々は適切に中国語でページを表示している場合は、次のコードを追加し、JSPファイルに向かう必要があります。<>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
私たちは、上記のプログラムを変更することを決意します。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> Hello World!<br/> <% out.println("你的 IP 地址 " + request.getRemoteAddr()); %> </body> </html>
だから中国人は正しく表示されます。
JSP宣言
宣言は、1つ以上の変数、メソッド、後で使用するためのJavaコードを宣言することができます。 あなたがそれらを使用する前に、JSPファイルでは、これらの変数やメソッドを宣言する必要があります。
JSP宣言構文:
<%! declaration; [ declaration; ]+ ... %>
代わりに、あなたはまた、この以下のように、それに相当するXML文を書くことができます。
<jsp:declaration> 代码片段 </jsp:declaration>
プログラム例:
<%! int i = 0; %> <%! int a, b, c; %> <%! Circle a = new Circle(2.0); %>
JSP式
式に含まれるJSPのスクリプト言語式は、最初の文字列に変換し、次に発生するローカル表現に挿入されています。
式の値を文字列に変換されているので、あなたはそれがHTMLタグであるかどうかのことなく、テキストの行で式を使用することができます。
式の要素は、Java言語仕様に準拠する任意の式を含めることができますが、式の最後にセミコロンを使用することはできません。
JSP式構文:
<%= 表达式 %>
同様に、あなたもそれに相当するXML文を書くことができます。
<jsp:expression> 表达式 </jsp:expression>
プログラム例:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%> </p> </body> </html>
以下の結果を実行した後:
今天的日期是: 2016-6-25 13:40:07
JSPのコメント
JSPのコメントは2つの主要な機能を持っている:コードとコメントアウトコードの一部に注釈を付けます。
JSPコメント構文:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <%-- 该部分注释在网页中不会被显示--%> <p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%> </p> </body> </html>
以下の結果を実行した後:
今天的日期是: 2016-6-25 13:41:26
異なる状況下での注釈の構文規則を使用します:
文法 | 説明 |
---|---|
<% - コメント - %> | JSPのコメントは、コメントがブラウザに送信されることはありませんでもコンパイルされません。 |
<! - コメント - > | あなたは、ブラウザを介してページのソースコードを表示する、HTMLコメント内のコメントを参照してくださいすることができます |
<\% | 代表静的<%定数 |
%\> | 代表静的%>定数 |
\ ' | プロパティ内の単一引用符を使用します |
\ " | プロパティに二重引用符を使用します |
JSPディレクティブ
JSPディレクティブはJSPページ全体に関連する属性を設定します。
JSPコマンドの構文:
<%@ directive attribute="value" %>
3つの命令のタグがあります。
命令 | 説明 |
---|---|
<%@ページ...%> | などのスクリプト言語、エラーページ、キャッシュ要件、などの依存関係プロパティの定義ページ、 |
<%@含める...%> | これは、追加のファイルが含まれています |
<%@ Taglibの...%> | 紹介タグライブラリの定義は、カスタムラベルすることができます |
JSPの動作
XML構文構造を使用してJSPタグは、サーブレットエンジンを制御するように作用します。 これは、動的に別のページにユーザーを導く、ファイル、再利用JavaBeanコンポーネントを挿入することができ、関連するHTMLは、Javaプラグインなどのために生成されます。
動作は、そのXML標準を厳守1つのラベルだけの構文は次のとおりです。
<jsp:action_name attribute="value" />
[動作]タブには、いくつかの事前定義された関数に、次の表では、JSPの動作羅利用可能なラベルの一部を示し、基本的です::
文法 | 説明 |
---|---|
jsp:含みます | 現在のページ内の静的または動的なリソースを収容するための |
jsp:useBeanの | 検索とJavaBeanコンポーネントを初期化します |
jsp:setPropertyを | JavaBeanコンポーネントの設定 |
jsp:getPropertyメソッド | の出力にJavaBeanコンポーネントの値 |
jsp:フォワード | 別のファイルにJSPファイルからユーザの要求が含まれている転送要求オブジェクト |
jsp:プラグイン | アプレットは、生成されたHTMLページ内のオブジェクトを含み、JavaBeanのために使用されます |
jsp:要素 | 動的XML要素を作成 |
jsp:属性 | XML要素が作成された動的に定義する属性 |
jsp:ボディ | ボディXML要素は、動的に作成さを定義します |
jsp:テキスト | テンプレートデータをカプセル化するために使用さ |
JSP暗黙オブジェクト
JSPサポート変数9自動的に定義され、河川や隠されたオブジェクトを知ら湖。 はじめに以下の表の9暗黙オブジェクト:
オブジェクト | 説明 |
---|---|
リクエスト | HttpServletRequestのクラスの例 |
応答 | 例HttpServletResponseのクラス |
アウト | 例のPrintWriterクラスは、ページ上の結果を出力に使用されています |
セッション | 例HttpSessionのクラス |
アプリケーション | クラスのインスタンスのServletContext、およびコンテキスト依存アプリケーション |
設定 | 例のServletConfigクラス |
pageContextの | 例のPageContextクラスのJSPページには、すべてのオブジェクトと名前空間へのアクセスを提供します |
ページ | このキーワードでのJavaクラスと同様に |
例外 | エラーを表す例外クラスのオブジェクトは、例外オブジェクトを対応するJSPページを発生しました |
制御フロー・ステートメント
JSPは、Java言語のための包括的なサポートを提供します。 あなたも、というように裁判官文やループなどのJavaコードのブロックを、作成、およびJSPのJava APIでプログラムを使用することができます。
裁判官文
場合... elseブロックは、次の例を考えてみます。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! int day = 3; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h3>IF...ELSE 实例</h3> <% if (day == 1 | day == 7) { %> <p>今天是周末</p> <% } else { %> <p>今天不是周末</p> <% } %> </body> </html>
以下の結果を実行した後:
IF...ELSE 实例 今天不是周末
今、スイッチ...ケースブロックを見て、と...他のブロックは非常に異なっている場合、それはこのように、)(out.printlnを使用し、全体のスクリプトタグは、プログラムにインストールされます。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! int day = 3; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h3>SWITCH...CASE 实例</h3> <% switch(day) { case 0: out.println("星期天"); break; case 1: out.println("星期一"); break; case 2: out.println("星期二"); break; case 3: out.println("星期三"); break; case 4: out.println("星期四"); break; case 5: out.println("星期五"); break; default: out.println("星期六"); } %> </body> </html>
ブラウザのアクセスは、以下の結果を実行します。
SWITCH...CASE 实例 星期三
ループ
JSPプログラムにおける循環の3つの基本タイプは、Javaを使用することができます。しばらく、のために、とやる...しばらく。
「コース」の異なるフォントサイズのループのため、次の出力の例を見てみましょう:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! int fontSize; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h3>For 循环实例</h3> <%for ( fontSize = 1; fontSize <= 3; fontSize++){ %> <font color="green" size="<%= fontSize %>"> 本教程 </font><br /> <%}%> </body> </html>
以下の結果を実行した後:
上記の例では、書き込みにwhileループを使用します。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! int fontSize; %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h3>While 循环实例</h3> <%while ( fontSize <= 3){ %> <font color="green" size="<%= fontSize %>"> 本教程 </font><br /> <%fontSize++;%> <%}%> </body> </html>ブラウザアクセス、出力は(0に初期化されたfontSizeので、マルチラインの出力)です。
JSP演算子
JSPは、すべてのJava論理演算子と算術演算子をサポートしています。
次の表は、最終的に高いからJSP羅共通の演算子の優先順位を示しています。
カテゴリ | 演算子 | バインディング |
---|---|---|
接尾辞 | ()[]。(ドット演算子) | 左から右 |
単一の | + + - - !〜 | 右から左へ |
Multiplicativity | * /% | 左から右 |
加算性 | + - | 左から右 |
変位 | >> << >>> | 左から右 |
関係 | >> = << = | 左から右 |
平等/不平等 | ==!= | 左から右 |
ビットと | & | 左から右 |
ビットXOR | ^ | 左から右 |
ビットまたは | | | 左から右 |
論理と | && | 左から右 |
論理的または | || | 左から右 |
条件付きの | ?: | 右から左へ |
割り当て | = + = - = * = / =%= >> = << =&= ^ = | = | 右から左へ |
コンマ | 、 | 左から右 |
JSPリテラル
JSP言語は、次の単語の額面金額を定義します。
- ブール値(ブール値):trueとfalse;
- 整数(int型):Javaのと同じ。
- フロート(フロート):Javaのと同じ。
- 文字列(文字列):開始および終了する単一引用符または二重引用符。
- ヌル:nullです。