TOP RSS LOGIN

Community

Products

Eclipse Plug-Ins

Libs & Tools

Documents

SourceForge.jp

Java Standard EL Functions

JSPで利用可能な標準的なEL関数を提供します。

詳細情報についてはMavenのプロジェクトサイトをご覧ください。

ダウンロード

ソースコードはSourceForge.jpのSubversionにあります。Webブラウザからは以下のURLで参照可能です。

リポジトリのURLは以下の通りです。

ライセンス

Apache License, Version 2.0に準じます。

使い方

 セットアップ

ダウンロードしたfunctions-x.x.x.jarをWEB-INF/libに追加し、web.xmlに以下のフィルタ定義を追加します。

<filter>
  <filter-name>functionsFilter</filter-name>
  <filter-class>jp.sf.amateras.functions.filter.FunctionsFilter</filter-class>
</filter>

<filter-mapping>
  <filter-name>functionsFilter</filter-name>
  <url-pattern>*</url-pattern>
  <dispatcher>REQUEST</dispatcher>
</filter-mapping>

JSPに以下のtaglibディレクティブを追加します。

<%@ taglib uri="http://amateras.sf.jp/functions" prefix="f" %>
<%@ taglib uri="http://amateras.sf.jp/log4j" prefix="log" %>

JSPでは以下のようにEL関数を使用することができます。

${f:h(bean.property)}

 利用可能な関数

利用可能なEL関数は以下の通りです。

基本関数(http://amateras.sf.jp/functions

関数名 説明
f:h(String value) HTMLタグをエスケープします。
f:u(String value) 文字列をURLエンコードします。
f:br(String value) 改行を<br>タグに変換します。
f:nbsp(String value) 半角スペースを&nbsp;に変換します。
f:cut(String value, int length) 文字列の先頭から指定文字数分を切り出します。
f:link(String value) 文字列中のURLをリンクに変換します。
f:mask(String value) 文字列を同じ文字数のアスタリスクに変換します。
f:date(Date date) Dateオブジェクトを日付のパターンでフォーマットします。
f:datetime(Date date) Dateオブジェクトを日時のパターンでフォーマットします。
f:time(Date date) Dateオブジェクトを時間のパターンでフォーマットします。
f:number(Object number, String pattern) 数値を指定したパターンでフォーマットします。
f:json(Object bean) オブジェクトをJSON形式の文字列に変換します。
f:query(Object params) マップのキーと値からクエリ文字列を組み立てます。
f:matches(String value, String pattern) 文字列が正規表現にマッチするかどうかをテストします。
f:replace(String value, String pattern, String replacement) 文字列を正規表現で置換します。
f:js(String value) JavaScriptの文字列リテラルに埋め込む場合に必要なエスケープ処理を行います。
f:concat(Object value1, Object value2 2つのオブジェクトを文字列として結合します。
f:contains(Object value1, Object value2) value1の中にvalue2が含まれているかどうかをテストします。

ログ出力関数(http://amateras.sf.jp/log4j

関数名 説明
log:trace(Object message) TRACEレベルでログを出力します。
log:debug(Object message) DEBUGレベルでログを出力します。
log:info(Object message) INFOレベルでログを出力します。
log:warn(Object message) WARNレベルでログを出力します。
log:error(Object message) ERRORレベルでログを出力します。
log:fatal(Object message) FATALレベルでログを出力します。
log:printTrace(Object message) TRACEレベルが有効な場合のみメッセージを表示します。
log:printDebug(Object message) DEBUGレベルが有効な場合のみメッセージを表示します。
log:printInfo(Object message) INFOレベルでログが有効な場合のみメッセージを表示します。
log:printWarn(Object message) WARNレベルでログが有効な場合のみメッセージを表示します。
log:printError(Object message) ERRORレベルでログが有効な場合のみメッセージを表示します。
log:printFatal(Object message) FATALレベルでログが有効な場合のみメッセージを表示します。
log:isTraceEnabled() TRACEレベルが有効かどうかを判定します。
log:isDebugEnabled() DEBUGレベルが有効かどうかを判定します。
log:isInfoEnnabled() INFOレベルが有効かどうかを判定します。
log:isWarnEnabled() WARNレベルが有効かどうかを判定します。
log:isErrorEnabled() ERRORレベルが有効かどうかを判定します。
log:isFatalEnabled() FATALレベルが有効かどうかを判定します。

 設定

f:date()、f:datetime()、f:time()などの関数はデフォルトのフォーマットパターンが決められています。 これらのフォーマットパターンを変更するにはクラスパスルートにfunctions.propertiesというプロパティファイルを 以下のような内容で作成してください。

# f:u()でURLエンコードするときの文字コード
defaultEncoding=UTF-8

# f:date()でフォーマットするパターン
datePattern=yyyy/MM/dd

# f:datetime()でフォーマットするパターン
datetimePattern=yyyy/MM/dd HH:mm:ss

# f:time()でフォーマットするパターン
timePattern=HH:mm:ss

デフォルトのfunctions.propertiesはfunctions-x.x.x.jarに含まれています。

 Mavenからの利用

Mavenを使用している場合はProject Amaterasで運用しているMavenリポジトリから入手することもできます。 pom.xmlに以下の記述を追加してください。

<repositories>
  <repository>
    <id>amateras</id>
    <name>Project AMateras Maven2 Repository</name>
    <url>http://amateras.sourceforge.jp/mvn/</url>
  </repository>
</repositories>
...
<dependencies>
  <dependency>
    <groupId>jp.sf.amateras.functions</groupId>
    <artifactId>functions</artifactId>
    <version>1.1.2</version>
  </dependency>
</dependencies>

更新履歴

 1.1.2 - 2010/01/19

  • f:contains()が配列にも対応。
  • f関数のTLDがバグっていたのを修正。

 1.1.1 - 2010/09/30

  • log:printTrace()などログレベルが有効な場合のみJSPに値を表示する関数群を追加。
  • log:isTraceEnabled()などログレベルが有効かどうかを反映するための関数群を追加。

 1.1.0 - 2010/03/16

  • FunctionsFilterを追加。このフィルタをweb.xmlに登録しないとJava Standard EL Functionsの一部の機能が利用できません。
  • f:json()、f:query()、f:matches()、f:replace()、f:js()、f:concat()、f:contains()を追加。
  • log:trace()などLog4jでログを出力するための関数群を追加。
  • $context変数を追加。

 1.0.0 - 2010/01/30

はじめてのリリース。