EL式とJSTL

3783 ワード

JSP標準ラベル庫(JSTL)はJSPラベルセットで、JSPアプリケーションの汎用コア機能を実装しています.
JSTLは、反復、条件判断、XMLドキュメントの操作、国際化ラベル、SQLラベルなどの汎用的な構造的なタスクをサポートします.これらに加えて、統合JSTLのカスタムラベルを使用するフレームワークも提供されています.
JSTL
インストール
jstlを使うには対応するライブラリを導入する必要があります.公式サイトでダウンロードできます.
そして、ファイルを解凍して、得られたjarカバンをWEB-INFのlibに入れます.
導入後、そのjspファイルを使うにはtaglibを使ってライブラリを導入します.

prefixはラベルのプレフィックスで、名前空間と似ています.ライブラリ内のラベルを使う時にはこのプレフィックスを付ける必要があります.
常用ラベル
ifラベル
ifタグは判断のために用いられ、条件成立時に実行ラベル体の内容、条件はtest属性に記載されています.以下は一例です.

    
${requestScope.error}
上記の例では、サーバがエラー情報を返すと、エラー情報をページに表示します.
チョイスラベル
choseラベルはswitch文に相当し、このラベルにはWhenとotherswiseをワードタグとして含めることができ、switch文のcaseとdefaultに相当し、例えば以下の例があります.

:

, , ,
foreachタグ
foreachは容器内の要素を反復するために使用されます.またはいくつかの繰り返しの操作を完了します.
foreachタグを使用して反復的な操作を行う場合、begin、end、varを使用して循環を制御でき、beginは循環変数の開始値を表し、endは循環変数の終了値を表し、正常のforサイクルとは異なり、循環変数の値はendの値に等しいことができる.varラベルを使用して循環変数の名前を定義し、ステップをStepで表します.たとえば:

${i} 
に等しい
for(int i = 1; i <= 10; i++){
	System.out.println(i);
}
foreachを使用して容器を反復するときはitemとvarを使用して反復し、ここでitemは反復を必要とする容器であり、varは取得した容器の中の要素を表す.例えば

	${l}

に等しい
for(String l:list){
	System.out.println(l);
}
EL
EL表現:Expression Language表現言語は、jspページのJavaコードの作成を置換し、簡略化するために使用されます.EL式は${}を用いて表される.
jspデフォルトサポートel表現は、pageコマンドでは、jspページのel表現を無視するかどうかをisELIgnoredで指定できます.もちろん、\を変換子として使用することもでき、このel式はそのまま出力されることを示しています.例えば、\${cookie}EL式では演算子、比較演算子、論理演算がempy空輸演算子に適合しています.emptyは、文字列、セット、配列オブジェクトがnullか、または長さが0かを判断するために使用されます.
el式を使う時は以下の点に注意しなければなりません.
  • el表現は、ドメインオブジェクトからしか値を取得できない
  • el表現でクラスオブジェクトであれば、Java Bean仕様に従って属性値
  • を取得することができます.
  • は、リストのような順序付きのセットに対して${ . [ ]. }
  • を使用することができる.
  • は、Mapのセットに対して、${ . .key }または${ . ["key "]}
  • を使用する.
  • el表式ではドメインオブジェクトの名前を変更しました.pageScopeはpageConttext、request Scopeに対応しています.request、session Scapeはsession、appication Scapeに対応しています.
  • ${ }は、見つかったまで、対応するキー値を最小の領域から順次検索する.