Class 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>
 

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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定義(メタデータ)として登録されているメッセージを出力します。 paramsには、メッセージに埋め込むパラメータ(単一のオブジェクト、もしくは配列、もしくはCollectionのインスタンス)を指定可能です。 パラメータがない場合は、nullを指定します。

    利用例
    static Object
    nvl(Object val, Object defaultVal)
    valがnullであった場合、defaultValを返却します。 それ以外はvalを返却します。
    利用例
    static String
    outputToken(Object tokenOutputType, boolean createNew)
    トランザクショントークンを出力します。 tokenOutputTypeにて、出力形式を指定します。tokenOutputTypeはTemplateUtil.TokenOutputTypeに定義されるEnum値もしくは、そのString表現を指定可能です。 tokenOutputType、createNewについては、TemplateUtil.outputToken(TokenOutputType, boolean)を参照下さい。

    利用例
    static Object
    prefs(String name)
    nameで指定されるPreferenceの値を取得します。
    PreferenceにruntimeClassが指定されている場合は、そのクラスのインスタンスが取得されます。
    runtimeClass指定がない場合、かつPreferenceSetの場合は、Mapが取得されます。 Preferenceの場合は、valueに定義されているStringが取得されます。
    利用例
    rc()
    RequestContextのインスタンスを取得します。
    static String
    rs(String baseName, String key)
    指定された基底名、キーからResourceBundleに定義された文字列を返します。
    利用例
    static String
    rsp(String baseName, String key, Object params)
    指定された基底名、キーからResourceBundleに定義された文字列を返します。 paramsには、文字列に埋め込むパラメータ(単一のオブジェクト、もしくは配列、もしくはCollectionのインスタンス)を指定可能です。
    利用例
    static String
    tenant名まで含むコンテキストパスを取得します。

    利用例
    static String
    トランザクショントークンの値を出力します。
    利用例

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ELFunctions

      public ELFunctions()
  • Method Details

    • rc

      public static RequestContext rc()

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

      利用例

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

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

      Returns:
       RequestContextのインスタンス
    • tcPath

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

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

      public static String msg(String categoryName, String messageId)
      Message定義(メタデータ)として登録されているメッセージを出力します。
      利用例
       多言語化されたメッセージ: ${m:msg('path/to/MessageCategory', 'M101')}
       
      このEL関数呼び出しは、
      invalid reference
      TemplateUtil#getMessageString(String, String)
      呼び出しと等価です。
      Parameters:
      categoryName - メッセージ定義のカテゴリ名
      messageId - メッセージID
      Returns:
      整形されたメッセージ
    • 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...)呼び出しと等価です。
      Parameters:
      categoryName - メッセージ定義のカテゴリ名
      messageId - メッセージID
      params - メッセージへ埋め込むパラメータ
      Returns:
      整形されたメッセージ
    • escJs

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

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

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

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

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

      利用例
       ${m:esc(bean.user.name)}
       
      このEL関数呼び出しは、 StringUtil.escapeHtml(String)呼び出しと等価です。
      Parameters:
      str - エスケープする文字列
      Returns:
      エスケープされた文字列
    • 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)呼び出しと等価です。
      Parameters:
      tokenOutputType - 出力形式
      createNew - 新規のトークンを発行する場合はtrue。すでに発行済みの(セッション単位に固定の)トークンを取得する場合はfalse。
      Returns:
      トランザクショントークン
    • token

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

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

      public static Object prefs(String name)
      nameで指定されるPreferenceの値を取得します。
      PreferenceにruntimeClassが指定されている場合は、そのクラスのインスタンスが取得されます。
      runtimeClass指定がない場合、かつPreferenceSetの場合は、Mapが取得されます。 Preferenceの場合は、valueに定義されているStringが取得されます。
      利用例
       ${m:prefs('preferenceName')}
       
      Parameters:
      name - Preferenceのname
      Returns:
    • 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を指定可能です。
      Parameters:
      value - フォーマット対象のオブジェクト、Date or Number
      pattern - フォーマットパターン
      Returns:
      フォーマットされた値。フォーマットできなかった場合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')}">
       
      Parameters:
      val - null検証する値
      defaultVal - valがnullの場合返却する値
      Returns:
      valもしくはdefaultVal
    • rs

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

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