[Java] Using JSTL in ADF Faces

JavaServer Pages Standard Tag Library (JSTL) では共通のWebアプリケーション機能のための関数を提供しています。JavaServer Faces Expression Language (EL) は JSTL関数とは異なりますが、 2つは組み合わせて使うことができます。例えば、以下の表では文字列を操作するJSTL関数の例です。
関数説明
fn:contains()文字列に特定の文字を含むかどうかをテストする
fn:containsIgnoreCase()入力文字が特定の文字を含むかどうかをテストする(大文字・小文字を区別しない)
fn:endsWith()入力文字列が特定の文字で終了しているかどうかをテストする
fn:escapeXml()XMLで解釈される文字記号(<、>、&、'、")を、HTMLで表示できる文字記号(&lt;、&gt;、&amp;、&#039;、&#034;)に置き換えて出力する
fn:indexOf()ある文字列の中で、指定された文字列がはじめて合致した際、合致した場所のindex番号を返す
fn:length()配列、Collectionオブジェクトの要素数、文字列の文字数をカウントして、その数を返す
fn:replace()引数に指定された置き換え前文字列に合致する文字列を、置き換え後文字列に変換して出力する
fn:startsWith()ある文字列の最初に、指定された文字列が含まれるかを調べる
fn:substring()文字列内の特定文字列を抜き出す
fn:substringAfter()引数に指定する区切り文字列以降の文字列を抜き出す
fn:substringBefore()引数に指定する区切り文字列以前の文字列を抜き出す
fn:toLowerCase()文字列を小文字に変換して出力する
fn:toUpperCase()文字列を大文字に変換して出力する
fn:trim()文字列の両端の空白文字を削除して出力する

出典:
http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm

Oracle ADF FacesコンポーネントEL参照でJSTLを使うためには、まず参照したいJSTLタグの名前空間を追加する必要があります。上記の表にあるJSTL関数のために、赤文字で強調した名前空間をJSPXドキュメントもしくはページフラグメントに手で追加する必要があります。
<jsp:root  
 xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"         
 xmlns:f="http://java.sun.com/jsf/core"         
 xmlns:h="http://java.sun.com/jsf/html"         
 xmlns:af="http://xmlns.oracle.com/adf/faces/rich"        
 xmlns:fn="http://java.sun.com/jsp/jstl/functions">
以下の式では、af:outputText コンポーネント内で利用している例です。ADFバインディングレイヤーから値を読み出し、部分文字列を表示しています。
<af:outputText value="#{fn:substring(bindings.employeeName.inputValue,1,3)}" id="ot7"/>

原文はこちら。
http://blogs.oracle.com/jdevotnharvest/entry/using_jstl_in_adf_faces

0 件のコメント:

コメントを投稿