JSTL Core詳細(二)
value
, EL ( )
default
value null ( )
escapeXml
true , “<,>,&”( , true)
JSTL 1.0の場合、ページ表示データは
<c:out value="${sessionScope.anyValue}" default="no value" escapeXml="false"/>
この例では、SessionからanyValueという名前のパラメータを検索してページに表示し、見つからない場合はno valueと表示します.
value
, EL
target
JavaBean ,
property ( )
property
JavaBean ( )
var
( )
scope
, , page(
valueのプロパティが存在しない場合、付与されたコンテンツとしてラベルに含まれるエンティティデータが使用されます.次に例を示します.
<c:set value="this is andy" var="oneString"/>
${oneString} <br>
この例では、「oneString」という名前の変数をpageの範囲で「this andy」に割り当てます.
削除に使用する
var
scope
, , ( )
次に例を示します.
<c:remove var="sampleValue" scope="session"/>
${sessionScope.sampleValue} <br>
この例では、Sessionで「sampleValue」という変数を削除します.次のEL式でこの変数を表示すると、その変数はもう存在しません.
例外取得用の
<c:catch var="err"> ${param.sampleSingleValue[9] == 3}</c:catch>
${err}
「${param.sampleSingleValue[9]==3}」式に異常がある場合、var属性「err」から異常な内容を得ることができ、通常「err」がnullであるか否かを判断してエラー情報のヒントを決定する.
判断に使用される
test
var
true false , ( )
scope
, , page ( )
次に例を示します.
<c:if test="${paramValues.sampleValue[2] == 12}" var="visits">It is 12</c:if><br>
${visits} <br>
この例では、requestリクエストが送信した入力コントロール配列パラメータのうち、「2」と表記されたコントロール内容が「12」であるかどうかを判断し、12であれば「It is 12」を表示します.判断結果はpage範囲の「visits」変数に保存されます.
複雑な判断に使用される
複雑な条件文の例を次に示します.
<c:choose>
<c:when test="${paramValues.sampleValue[2] == 11}">
not 12 not 13,it is 11
</c:when>
<c:when test="${paramValues.sampleValue[2] == 12}">
not 11 not 13,it is 12
</c:when>
<c:when test="${paramValues.sampleValue[2] == 13}">
not 11 not 12,it is 13
</c:when>
<c:otherwise>
not 11 、12、13
</c:otherwise>
</c:choose>
この例では、requestリクエストが送信した入力コントロール配列パラメータのうち、「2」コントロール内容が「11」または「12」または「13」であるか否かを判断し、判断結果に基づいてそれぞれの文を表示し、そうでない場合は「not 11、12、13」を表示する.
ループ用の
items
( )
begin
( )
end
( )
step
, 1( )
var
, items , ( )
varStatus
( )
次に、コレクションループの例を示します.
<%ArrayList arrayList = new ArrayList();
arrayList.add("aa");
arrayList.add("bb");
arrayList.add("cc");
%>
<%request.getSession().setAttribute("arrayList", arrayList);%>
<c:forEach items="${sessionScope.arrayList}" var="arrayListI">
${arrayListI}
</c:forEach>
この例では、Sessionに保存されている「arrayList」というArrayListタイプの集合パラメータに格納されているオブジェクトを順次読み出し、itemsプロパティはArrayListタイプの集合パラメータを指し、varプロパティは集合内のオブジェクトを受信するために新しい変数を定義します.最後に直接EL式でページに表示されます.簡単なループの例を次に示します.
<c:forEach var="i" begin="1" end="10" step="1">
${i}<br />
</c:forEach>
この例では、「1」から「10」にループし、ループ内の変数「i」をページに表示します.
文字を区切る
items
EL
delims
begin
( )
end
( )
step
, 1( )
var
( )
varStatus
( )
次に例を示します.
<c:forTokens items="aa,bb,cc,dd" begin="0" end="2" step="2" delims="," var="aValue">
${aValue}
</c:forTokens>
区切りが必要な文字列は「aa,bb,cc,dd」、区切り記号は「,」です.beginプロパティは、最初の','から区切りを指定し、endプロパティは3番目の','に区切りを指定し、ループする変数名を'aValue'に指定します.ステップ長が"2"であるため、EL式${aValue}では"aa"しか表示できない
ページを含む
url
URL
context
Web Context Context , context , “/” , url “/” ( )
charEncoding
( )
var
( )
scope
( )
varReader
java.io.Reader ( )
次に例を示します.
<c:import url="/MyHtml.html" var="thisPage" />
<c:import url="/MyHtml.html" context=”/sample2” var="thisPage"/>
<c:import url="www.sample.com/MyHtml.html" var="thisPage"/>
この例では、同じContextでインポートする方法と、異なるContextでインポートする方法と、任意のURLをインポートする方法の3つの異なるインポート方法を示します.
URLアドレスを取得するための
value
URL
context
Web Context Context URL , context , “/” , url “/” ( )
charEncoding
URL ( )
var
URL ( )
scope
( )
次に例を示します.
<c:url value="/MyHtml.html" var="urlPage" />
<a href="${urlPage}">link</a>
1つのURLを得た後,用EL式放入平板的href属性,达成链接的目的.使用的是相当于佩吉里达克特用的拉贝尔response的佩吉里达克特.setRedirect Mesold的工作urlとcontextの2つの属性が含まれており、属性の意味はラベルと同じである。接下来是例子. <c:redirect url="/MyHtml.html"/> この例をJSPに示すと、現在のWeb Contextの下にある「MyHtml.html.html」のページにリダイレクトされ、これらのラベルも一般的に使用する.包括传达电脑在内的橄榄球,包括在内的页面或领导的页面上使用了电脑. name 渡されたパラメータ名 value 渡されたパラメータ値(オプション)