クラス ELFunctions

java.lang.Object
org.iplass.mtp.web.template.ELFunctions

public class ELFunctions extends Object

EL式にて提供するカスタム関数が定義されるクラスです。 iPLAss上でTemplateとして管理されるJSPからは、 RequestContext, SessionContextそれぞれにsetAttributeした値を透過的に取得可能です。

JSPでの利用例を以下に示します。

 <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 <%@taglib prefix="m" uri="http://iplass.org/tags/mtp"%>
 <html>
 :
 :
 <body>
 :
 :
 <%-- testBean.user.nameの値をXMLエスケープして出力 --%>
 userName:${m:esc(testBean.user.name)}<br>
 :
 :
 <%-- m:tcPath()にてtenantContextPathを出力 --%>
 <a href="${m:tcPath()}/user/update">更新する</a>
 :
 :
 </body>
 </html>
 

  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
     
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    static String
    esc(String str)
    strをHTML出力用にエスケープします。
    static String
    strをJavaScript出力用にエスケープします。
    static String
    strをXML(XHTML)出力用にエスケープします。
    static String
    トランザクショントークン(セッション単位の固定値)の値を出力します。
    static String
    fmt(Object value, String pattern)
    指定のvalueをpatternでフォーマット出力します。
    static String
    msg(String categoryName, String messageId)
    Message定義(メタデータ)として登録されているメッセージを出力します。
    static String
    msgp(String categoryName, String messageId, Object params)
    Message定義(メタデータ)として登録されているメッセージを出力します。
    static Object
    nvl(Object val, Object defaultVal)
    valがnullであった場合、defaultValを返却します。
    static String
    outputToken(Object tokenOutputType, boolean createNew)
    トランザクショントークンを出力します。
    static Object
    prefs(String name)
    nameで指定されるPreferenceの値を取得します。
    rc()
    RequestContextのインスタンスを取得します。
    static String
    rs(String baseName, String key)
    指定された基底名、キーからResourceBundleに定義された文字列を返します。
    static String
    rsp(String baseName, String key, Object params)
    指定された基底名、キーからResourceBundleに定義された文字列を返します。
    static String
    tenant名まで含むコンテキストパスを取得します。
    static String
    トランザクショントークンの値を出力します。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • ELFunctions

      public ELFunctions()
  • メソッドの詳細

    • rc

      public static RequestContext rc()

      RequestContextのインスタンスを取得します。

      利用例

       ${m:rc().session.getAttribute('cart').count}
       
      このEL関数呼び出しは、 TemplateUtil.getRequestContext()呼び出しと等価です。

      note:
      iPLAss3.0からは、JSPの暗黙変数requestから透過的にRequestContextの値を取得可能です。 当該関数は、明示的にRequestContextのインスタンスを取得したい場合に利用可能です。

      戻り値:
       RequestContextのインスタンス
    • tcPath

      public static String tcPath()
      tenant名まで含むコンテキストパスを取得します。

      利用例
       <a href="${m:tcPath()}/path/to/action">link</a>
       
      このEL関数呼び出しは、 TemplateUtil.getTenantContextPath()呼び出しと等価です。
      戻り値:
      テナントコンテキストパス
    • msg

      public static String msg(String categoryName, String messageId)
      Message定義(メタデータ)として登録されているメッセージを出力します。
      利用例
       多言語化されたメッセージ: ${m:msg('path/to/MessageCategory', 'M101')}
       
      このEL関数呼び出しは、
      無効な参照です
      TemplateUtil#getMessageString(String, String)
      呼び出しと等価です。
      パラメータ:
      categoryName - メッセージ定義のカテゴリ名
      messageId - メッセージID
      戻り値:
      整形されたメッセージ
    • msgp

      public static String msgp(String categoryName, String messageId, Object params)
      Message定義(メタデータ)として登録されているメッセージを出力します。 paramsには、メッセージに埋め込むパラメータ(単一のオブジェクト、もしくは配列、もしくはCollectionのインスタンス)を指定可能です。 パラメータがない場合は、nullを指定します。

      利用例
       多言語化されたメッセージ: ${m:msgp('path/to/MessageCategory', 'M101', bean.messageParams)}
       
      このEL関数呼び出しは、 TemplateUtil.getMessageString(String, String, Object...)呼び出しと等価です。
      パラメータ:
      categoryName - メッセージ定義のカテゴリ名
      messageId - メッセージID
      params - メッセージへ埋め込むパラメータ
      戻り値:
      整形されたメッセージ
    • escJs

      public static String escJs(String str)
      strをJavaScript出力用にエスケープします。

      利用例
       ${m:escJs(bean.user.name)}
       
      このEL関数呼び出しは、 StringUtil.escapeJavaScript(String)呼び出しと等価です。
      パラメータ:
      str - エスケープする文字列
      戻り値:
      エスケープされた文字列
    • escXml

      public static String escXml(String str)
      strをXML(XHTML)出力用にエスケープします。

      利用例
       ${m:escXml(bean.user.name)}
       
      このEL関数呼び出しは、 StringUtil.escapeXml10(String)呼び出しと等価です。
      パラメータ:
      str - エスケープする文字列
      戻り値:
      エスケープされた文字列
    • esc

      public static String esc(String str)
      strをHTML出力用にエスケープします。

      利用例
       ${m:esc(bean.user.name)}
       
      このEL関数呼び出しは、 StringUtil.escapeHtml(String)呼び出しと等価です。
      パラメータ:
      str - エスケープする文字列
      戻り値:
      エスケープされた文字列
    • outputToken

      public static String outputToken(Object tokenOutputType, boolean createNew)
      トランザクショントークンを出力します。 tokenOutputTypeにて、出力形式を指定します。tokenOutputTypeはTemplateUtil.TokenOutputTypeに定義されるEnum値もしくは、そのString表現を指定可能です。 tokenOutputType、createNewについては、TemplateUtil.outputToken(TokenOutputType, boolean)を参照下さい。

      利用例
       ${m:outputToken('FORM_HTML', true)}
       
      このEL関数呼び出しは、 TemplateUtil.outputToken(TokenOutputType, boolean)呼び出しと等価です。
      パラメータ:
      tokenOutputType - 出力形式
      createNew - 新規のトークンを発行する場合はtrue。すでに発行済みの(セッション単位に固定の)トークンを取得する場合はfalse。
      戻り値:
      トランザクショントークン
    • token

      public static String token()
      トランザクショントークンの値を出力します。
      利用例
       <input type="hidden" name="_t" value="${m:token()}">
       
      このEL関数呼び出しは、outputStyle=VALUE、createNew=trueにて TemplateUtil.outputToken(TokenOutputType, boolean)呼び出しと等価です。
      戻り値:
      トランザクショントークン
    • fixToken

      public static String fixToken()
      トランザクショントークン(セッション単位の固定値)の値を出力します。
      利用例
       <input type="hidden" name="_t" value="${m:fixToken()}">
       
      このEL関数呼び出しは、outputStyle=VALUE、createNew=falseにて TemplateUtil.outputToken(TokenOutputType, boolean)呼び出しと等価です。
      戻り値:
      トランザクショントークン(セッション単位の固定値)
    • prefs

      public static Object prefs(String name)
      nameで指定されるPreferenceの値を取得します。
      PreferenceにruntimeClassが指定されている場合は、そのクラスのインスタンスが取得されます。
      runtimeClass指定がない場合、かつPreferenceSetの場合は、Mapが取得されます。 Preferenceの場合は、valueに定義されているStringが取得されます。
      利用例
       ${m:prefs('preferenceName')}
       
      パラメータ:
      name - Preferenceのname
      戻り値:
    • fmt

      public static String fmt(Object value, String pattern)
      指定のvalueをpatternでフォーマット出力します。
      利用例
       <input type="text" name="endDate" value="${m:fmt(dateVal, 'yyyy/MM/dd')}">
       
      valueには、Dateのインスタンスもしくは、Numberのインスタンスを指定可能です。 Dateの場合は、SimpleDateFormatにて定義されるpattern、 Numberの場合は、DecimalFormatにて定義されるpatternを指定可能です。
      パラメータ:
      value - フォーマット対象のオブジェクト、Date or Number
      pattern - フォーマットパターン
      戻り値:
      フォーマットされた値。フォーマットできなかった場合null
    • nvl

      public static Object nvl(Object val, Object defaultVal)
      valがnullであった場合、defaultValを返却します。 それ以外はvalを返却します。
      利用例
       <input type="text" name="test" value="${m:nvl(testVal, 'testVal is null')}">
       
      パラメータ:
      val - null検証する値
      defaultVal - valがnullの場合返却する値
      戻り値:
      valもしくはdefaultVal
    • rs

      public static String rs(String baseName, String key)
      指定された基底名、キーからResourceBundleに定義された文字列を返します。
      利用例
       ${m:rs('resource-bundle-name', 'key')}
       
      このEL関数呼び出しは、
      無効な参照です
      TemplateUtil#getResourceString(ResourceBundle, String, String)
      呼び出しと等価です。
      パラメータ:
      baseName - ResourceBundleのbaseName
      key - キー
      戻り値:
      文字列
    • rsp

      public static String rsp(String baseName, String key, Object params)
      指定された基底名、キーからResourceBundleに定義された文字列を返します。 paramsには、文字列に埋め込むパラメータ(単一のオブジェクト、もしくは配列、もしくはCollectionのインスタンス)を指定可能です。
      利用例
       ${m:rsp('resource-bundle-name', 'key', params)}
       
      このEL関数呼び出しは、
      無効な参照です
      TemplateUtil#getResourceString(ResourceBundle, String, String, Object...)
      呼び出しと等価です。
      パラメータ:
      baseName - ResourceBundleのbaseName
      key - キー
      params - 文字列へ埋め込むパラメータ
      戻り値:
      文字列