Java Standard EL Functions 1.1.0をリリースしました

汎用的なJSP-EL関数を提供するライブラリJava Standard EL Functions 1.1.0をリリースしました。

このバージョンでの変更点は以下の通りです。

  • 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変数を追加。

注意点としてはweb.xmlにFunctionsFilterの登録が必要になったという点です。それと、大きなところではLog4jを使ってJSPからログを出力する関数を追加しました。こんな感じで使います。

<%@ taglib uri="http://amateras.sf.jp/log4j" prefix="log" %>
...
${log:debug('デバッグログです。')}

このときLoggerの名前は以下のルールで決定されます。

  1. HttpServletRequest#getServletPath()でサーブレットパスを取得
  2. サーブレットパスの先頭の / と末尾の .jsp を除去
  3. jsp.サーブレットパスの / を . に変換した文字列 をLogger名とする

たとえば、/index.jsp の場合は jsp.index、/admin/index.jsp の場合は jsp.admin.index がLogger名になります。 Log4j側ではこれらのLoggerに対応するアペンダを定義しておくことでJSPから出力されるログを制御することができます。