Syboos jsf4jstl タグの使い方 (JSFでJSTLのコアタグ)

2008/02/24 21:41Update
TAGS: JSF

Syboos jsf4jstlタグはJSTLのcoreタグをJSF実装のカスタムタグであり、JSTL coreタグ(c:forEach, c:if, c:when, c:otherwiseなど)の多くの機能を実現しています。

Syboos jsf4jstlタグについてご説明します。

Syboos jsf4jstlタグ


tc:choose:
    JSTLのc:chooseと同じ機能を提供します。
パラメータ:なし。

tc:if:JSTLタグのc:ifタグと同じ機能を提供しています。

構文:
    <tc:if test="EL条件式">
        JSFタグ(EL条件式がtrueの場合に実行される処理)
    </tc:if>


パラメータ:
パラメータ 属性 必須
test JSFのEL条件式。条件式はtrueであることのみ、if文が実行されます。
var test属性で実行された結果の値(true、false)を代入する変数。   x
scope     var属性のスコープを設定する。request/session/applicationのいずれかを設定できます。ディフォルトでは、requestが設定されます。


tc:elseIf:
    tc:choose/tc:if/tc:elseと併用。
構文:
<tc:choose>
    <tc:if test="EL条件式1">
        JSFタグ(EL条件式1がtrueの場合に実行される処理)
    </tc:if>
    <tc:elseIf test="EL条件式2">
        JSFタグ(EL条件式2がtrueの場合に実行される処理)
    </tc:elseIf>
</tc:choose>

※    1、この場合、tc:elseIf、tc:ifは同じとみなします(互換してもよい)。
※    2、連続複数のtc:ifまたはtc:elseIfがあることもできます。

パラメータ
パラメータ 属性 必須
test JSFのEL条件式。条件式はtrueであることのみ、elseIf文が実行されます。
var test属性で実行された結果の値(true、false)を代入する変数。
scope var属性のスコープを設定する。request/session/applicationのいずれかを設定できます。ディフォルトでは、requestが設定されます。


tc:else:
    tc:choose/tc:if/tc:elseIfと併用。
構文:
<tc:choose>
    <tc:if test="EL条件式1">
        JSFタグ(EL条件式1がtrueの場合に実行される処理)
    </tc:if>
    <tc:elseIf test="EL条件式2">
        JSFタグ(EL条件式2がtrueの場合に実行される処理)
    </tc:elseIf>
    <tc:else>
        JSFタグ(どのEL条件式もtrueでなかった場合に実行される処理)
    </tc:else>
</tc:choose>

※tc:elseタグは最後でなければなりません。

パラメータ:なし。


tc:forEach:
    JSTLタグのc:forEachタグと同じ機能を提供しています。
構文:
<tc:forEach var="変数名" items="List,Mapなどの集合オブジェクト" [varStatus="ステータス変数名"] [...]>
   繰返し実行される処理
</tc:forEach>
パラメータ:
パラメータ 属性 必須
items オブジェクトの集合オブジェクト。Map、配列などを該当します。
var 繰り返し処理される値が代入される変数名。
varStatus 繰り返し処理のステータスが代入される変数名。ステータスには:count(1から始まるループ回数)index(0から始まるループ回数)total(集合オブジェクトに含まれるオブジェクトの数)begin(ループ開始インデックス)end(ループ終了インデックス)などの値があります。
rows 繰り返し回数。指定しなかった場合、属性[end]で指定されるインデックスまたは最後まで繰り返し処理します。
step 繰り返し処理の繰り返すレベルを指定します。
begin 繰り返し処理開始するインデックスを指定します。
end 繰り返し処理終了するインデックスを指定します。
tokenizer v1.20+から提供。itemsに指定された文字列や、オブジェクトを変換するためのクラス名を指定します。com.syboos.faces.component.core.IForEachTokenizerインタフェースを継承する必要があります。
tokenizerの使い方


tc:when:
    tc:chooseと併用時、tc:if/tc:elseIfと同じ。


tc:otherwise:
    tc:elseと同じ。上記tc:if/tc:elseIf/tc:elseを参照。機能、パラメータ及び使い方は一緒です。


tc:set:
    JSTLタグのc:setと同じような機能を提供します。
構文:
<tc:set var="変数名" value="値" [scope="request/session/application"] />


パラメータ:
パラメータ 属性 必須
var 値が設定される変数名。
value 設定される値
scope var属性のスコープを設定する。request/session/applicationのいずれかを設定できます。ディフォルトでは、requestが設定されます。


tc:keepState:
    値(ValueBinding値)のステートを保持するタグ。指定されるValueBinding値をページレンダー処理時セッションに保存し、ページがロードされる際、その値が自動的にリストアされる(セッションから削除処理も行う)仕組み。ページデータの一部をセッションに保存したい場合に使用します。

構文:
<tc:keepState value="#{EL式}" />

例:<tc:keepState value="#{someBean.someProperty}" />

パラメータ:
パラメータ 属性 必須
value ステートを保持する値を指定する。ValueBinding値。


tc:loadCookie:
    Cookie情報を指定する変数名にセット(ロード)します。
構文:
<tc:loadCookie var="変数名" [name="cookie名"] [scope="request/session/application"] />

パラメータ:
パラメータ 属性 必須
var 値が設定される変数名。値はMap型で、以下のString値が入っています:comment、domain、name、path、value、maxAge、secure、version
name Cookie名。指定されなかった場合、該当ドメイン内のすべてのcookieが取得され、変数varに設定されます。
scope var属性のスコープを設定します。request/session/applicationのいずれかを設定できます。ディフォルトでは、requestが設定されます。
使用例:
Cookie名を指定される場合:
<tc:loadCookie var="usercookie" name="userName" />
<h:outputText value="#{usercookie.value}" />
※名前はuserNameというCookieをusercookieにセットします。
※usercookie.value、usercookie.version

Cookie名を指定されなかった場合:
<tc:loadCookie var="cookies" />
<h:outputText value="#{cookies.userName.value}" />
※すべてのCookie情報をcookiesにセットします。


tc:loadSession:
    Session情報を指定する変数名にセット(ロード)します。
構文:
<tc:loadSession var="変数名" name="セッションキー" [scope="request/session/application"] />

パラメータ:
パラメータ 属性 必須
var 値が設定される変数名。
name セッションキー。
scope var属性のスコープを設定します。request/session/applicationのいずれかを設定できます。ディフォルトでは、requestが設定されます。
使用例:
<tc:loadSession var="userObj" name="user" />
<h:outputText value="#{userObj.userName}" />
※HttpSession.getAttribute("user")と同意味。


tc:userAgent:
    ブラザー情報を変数にセットします。
構文:
<tc:userAgent var="変数名" [scope="request/session"] />


パラメータ:
パラメータ 属性 必須
var 値が設定される変数名。値はMap型で、以下のString値が入っています:browser、platform、version、fullname
scope var属性のスコープを設定する。request/session/applicationのいずれかを設定できます。ディフォルトでは、requestが設定されます。

使用例:
<tc:userAgent var="userAgent" />
<h:outputText value="#{userAgent.browser}" />
<h:outputText value="#{userAgent.platform}" />
<h:outputText value="#{userAgent.version}" />
<h:outputText value="#{userAgent.fullname}" />

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

  • Relative Articles