JSP一般的に使用されたタグ
JSPタグとは何ですか
JSPタグ、また、JSPのアクションと呼ばれるいくつかの場所、解体表示されるJavaコードのJSPページの多くを書くが、それはJSPで非常に不快に見える、JSPは、したがって、いくつかの類似したHTMLタグを提供し、これらのタグは、いくつかのJavaコードを置き換えることができます機能を実現する、JSPタグの多数の使用は、我々のコードより読みやすいコードを単純化することができます。
<jsp:タグのname属性値属性名= ... />
または
<JSP:タグのname属性の値は、属性名= ...> </ JSP:タグ名>
二つの一般的なJSPタグ
<jsp:前方>
ラベルの役割は、命令のページを使用し、他のリソースへの要求を転送することです、それは別のページに直接転送されますので、現在のページに表示されるすべてのコンテンツは、表示されません。
最初の作成なtest.jspの我々が設定したパラメータを渡すために、組み込みのオブジェクトリクエストJSPを使用してこのページに、ページを。
<%@ページ言語= "javaの" contentTypeの= "text / htmlの;のcharset = UTF-8" pageEncodingは = "UTF-8" %> <DOCTYPE用HTML PUBLIC「 - // W3C // DTD HTML 4.01移行// EN! " "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <META HTTP-当量=" Content-Typeの"コンテンツ=" text / htmlの;のcharset = UTF-8 "> ここ<タイトル>を挿入タイトル</ TITLE> </ HEAD> <BODY> なtest.jsp页面、因为所以、标签前方、λ使用该页面中的内容不会显示 <% request.setAttribute( "名前"、" henuは「SCM )。 %> の<jsp:前方ページ= "/ forwardPage.jsp" /> <
次に、作成forwardPage.jspを、また、組み込みのオブジェクトパラメータの要求がなtest.jspに収容されている使用しています
<%@ページ言語= "javaの" contentTypeの= "text / htmlの;のcharset = UTF-8" pageEncodingは = "UTF-8" %> <DOCTYPE用HTML PUBLIC「 - // W3C // DTD HTML 4.01移行// EN! " "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <META HTTP-当量=" Content-Typeの"コンテンツ=" text / htmlの;のcharset = UTF-8 「> <タイトル>ここで挿入タイトル</ TITLE> </ HEAD> <BODY> のjsp:転送标签跳转的目标页面 <BR> <%= request.getAttribute( "名前" ) %> </ BODY> </ HTML>
アクセスなtest.jsp、ページ出力:
JSP:forwardタグジャンプ先ページ
henuのSCM
注意:
1、なtest.jspページ内のJSPタグは、それ以外の場合は、例外がスローされますorg.apache.jasper.JasperExceptionが、(終了タグを書くことを忘れないように注意して)完全に書き込みます。
図2に示すように、タグは、JSPタグをリダイレクトするために使用されていません。
図3に示すように、それが上記の例から見た、それは、<JSP:フォワード>に書き込まれているページのコンテンツにタグが表示されません。
< JSP:含めます >
ラベルが現在のJSPファイル内の追加を導入するために使用され、この方法は、組み込まれ組み込まダイナミックと呼ばれています。
ページのindex.jspを作成します
<%@ページ言語= "javaの" contentTypeの= "text / htmlの;のcharset = UTF-8" pageEncodingは = "UTF-8" %> <DOCTYPE用HTML PUBLIC「 - // W3C // DTD HTML 4.01移行// EN! " "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <META HTTP-当量=" Content-Typeの"コンテンツ=" text / htmlの;のcharset = UTF-8 「> ここ<タイトル>を挿入タイトル</ TITLE> </ HEAD> <BODY> <%int型の合計= 100 ; %> <BR> の<jsp:ページが含ま= "/ includePage.jsp" /> <BR> インデックス合計 = <%=合計%> </ BODY>
そして、includePage.jspページを作成
<%@ページ言語= "javaの" contentTypeの= "text / htmlの;のcharset = UTF-8" pageEncodingは = "UTF-8" %> <DOCTYPE用HTML PUBLIC「 - // W3C // DTD HTML 4.01移行// EN! " "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <META HTTP-当量=" Content-Typeの"コンテンツ=" text / htmlの;のcharset = UTF-8 「> <タイトル>ここで挿入タイトル</ TITLE> </ HEAD> <BODY> <%int型の合計= 50 ; %> <BR> includePage和 = <%=合計%> </ body> </ HTML>
アクセスindex.jspページ、出力:
includePage合計= 50
指数の和= 100
ディレクトリのJavaを見ることができたファイルを開き、JSPは二つのファイル、すなわちindex_jsp.javaとleft_jsp.javaを生成し、
ディレクティブの導入は、実行時ではなくコンパイル時に行われていると結論することができます。プログラムのこの命令の導入、実行されて、_jspService index.jspを()メソッド内のファイルが含まJspRuntimeLibraryクラス()メソッドはincludePage.jspファイル_jspService()メソッドを呼び出します。この実行を行っ導入では、動的な導入と呼ばれます。
なお、ここでの<jsp:include>をJSPディレクティブのタグ< %@ 含めるファイル= "/ファイル名" %>別途、混同しないでください。
動的および静的の差が導入され導入さ
<%@ファイルをインクルード= "/ xxx.jsp" %>は<! - 静的導入しました - >
静的なJavaファイルを生成します導入、2つのJSPファイルは、同じ変数を共有することができますが、同じ名前の変数を定義することはできません。
<jsp:ページ= "/ xxx.jsp" / include>の< - 動的導入を - !>
2つの、動的に生成されたJavaファイルを導入し、2つのファイルが同じ変数を共有していないJSP、変数が同じ名前を定義することができます。
導入の静的および動的な導入を使用することができる場合、一般的に静的導入使用。プログラムが実行されているだけサーブレット、資源の少ない消費量があり、そして何の問題呼び出すと高効率が存在しないため。