クラス ELFunctions
java.lang.Object
org.iplass.mtp.web.template.ELFunctions
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
strをHTML出力用にエスケープします。static String
strをJavaScript出力用にエスケープします。static String
strをXML(XHTML)出力用にエスケープします。static String
fixToken()
トランザクショントークン(セッション単位の固定値)の値を出力します。static String
指定のvalueをpatternでフォーマット出力します。static String
Message定義(メタデータ)として登録されているメッセージを出力します。static String
Message定義(メタデータ)として登録されているメッセージを出力します。static Object
valがnullであった場合、defaultValを返却します。static String
outputToken
(Object tokenOutputType, boolean createNew) トランザクショントークンを出力します。static Object
nameで指定されるPreferenceの値を取得します。static RequestContext
rc()
RequestContextのインスタンスを取得します。static String
指定された基底名、キーからResourceBundleに定義された文字列を返します。static String
指定された基底名、キーからResourceBundleに定義された文字列を返します。static String
tcPath()
tenant名まで含むコンテキストパスを取得します。static String
token()
トランザクショントークンの値を出力します。
-
コンストラクタの詳細
-
ELFunctions
public ELFunctions()
-
-
メソッドの詳細
-
rc
RequestContextのインスタンスを取得します。
利用例
${m:rc().session.getAttribute('cart').count}
このEL関数呼び出しは、TemplateUtil.getRequestContext()
呼び出しと等価です。note:
iPLAss3.0からは、JSPの暗黙変数requestから透過的にRequestContextの値を取得可能です。 当該関数は、明示的にRequestContextのインスタンスを取得したい場合に利用可能です。- 戻り値:
- RequestContextのインスタンス
-
tcPath
tenant名まで含むコンテキストパスを取得します。
利用例
<a href="${m:tcPath()}/path/to/action">link</a>
このEL関数呼び出しは、TemplateUtil.getTenantContextPath()
呼び出しと等価です。- 戻り値:
- テナントコンテキストパス
-
msg
Message定義(メタデータ)として登録されているメッセージを出力します。
利用例
多言語化されたメッセージ: ${m:msg('path/to/MessageCategory', 'M101')}
このEL関数呼び出しは、無効な参照です
TemplateUtil#getMessageString(String, String)
- パラメータ:
categoryName
- メッセージ定義のカテゴリ名messageId
- メッセージID- 戻り値:
- 整形されたメッセージ
-
msgp
Message定義(メタデータ)として登録されているメッセージを出力します。 paramsには、メッセージに埋め込むパラメータ(単一のオブジェクト、もしくは配列、もしくはCollectionのインスタンス)を指定可能です。 パラメータがない場合は、nullを指定します。
利用例
多言語化されたメッセージ: ${m:msgp('path/to/MessageCategory', 'M101', bean.messageParams)}
このEL関数呼び出しは、TemplateUtil.getMessageString(String, String, Object...)
呼び出しと等価です。- パラメータ:
categoryName
- メッセージ定義のカテゴリ名messageId
- メッセージIDparams
- メッセージへ埋め込むパラメータ- 戻り値:
- 整形されたメッセージ
-
escJs
strをJavaScript出力用にエスケープします。
利用例
${m:escJs(bean.user.name)}
このEL関数呼び出しは、StringUtil.escapeJavaScript(String)
呼び出しと等価です。- パラメータ:
str
- エスケープする文字列- 戻り値:
- エスケープされた文字列
-
escXml
strをXML(XHTML)出力用にエスケープします。
利用例
${m:escXml(bean.user.name)}
このEL関数呼び出しは、StringUtil.escapeXml10(String)
呼び出しと等価です。- パラメータ:
str
- エスケープする文字列- 戻り値:
- エスケープされた文字列
-
esc
strをHTML出力用にエスケープします。
利用例
${m:esc(bean.user.name)}
このEL関数呼び出しは、StringUtil.escapeHtml(String)
呼び出しと等価です。- パラメータ:
str
- エスケープする文字列- 戻り値:
- エスケープされた文字列
-
outputToken
トランザクショントークンを出力します。 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
トランザクショントークンの値を出力します。
利用例
<input type="hidden" name="_t" value="${m:token()}">
このEL関数呼び出しは、outputStyle=VALUE、createNew=trueにてTemplateUtil.outputToken(TokenOutputType, boolean)
呼び出しと等価です。- 戻り値:
- トランザクショントークン
-
fixToken
トランザクショントークン(セッション単位の固定値)の値を出力します。
利用例
<input type="hidden" name="_t" value="${m:fixToken()}">
このEL関数呼び出しは、outputStyle=VALUE、createNew=falseにてTemplateUtil.outputToken(TokenOutputType, boolean)
呼び出しと等価です。- 戻り値:
- トランザクショントークン(セッション単位の固定値)
-
prefs
nameで指定されるPreferenceの値を取得します。
PreferenceにruntimeClassが指定されている場合は、そのクラスのインスタンスが取得されます。
runtimeClass指定がない場合、かつPreferenceSetの場合は、Mapが取得されます。 Preferenceの場合は、valueに定義されているStringが取得されます。
利用例
${m:prefs('preferenceName')}
- パラメータ:
name
- Preferenceのname- 戻り値:
-
fmt
指定の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 Numberpattern
- フォーマットパターン- 戻り値:
- フォーマットされた値。フォーマットできなかった場合null
-
nvl
valがnullであった場合、defaultValを返却します。 それ以外はvalを返却します。
利用例
<input type="text" name="test" value="${m:nvl(testVal, 'testVal is null')}">
- パラメータ:
val
- null検証する値defaultVal
- valがnullの場合返却する値- 戻り値:
- valもしくはdefaultVal
-
rs
指定された基底名、キーからResourceBundleに定義された文字列を返します。
利用例
${m:rs('resource-bundle-name', 'key')}
このEL関数呼び出しは、無効な参照です
TemplateUtil#getResourceString(ResourceBundle, String, String)
- パラメータ:
baseName
- ResourceBundleのbaseNamekey
- キー- 戻り値:
- 文字列
-
rsp
指定された基底名、キーからResourceBundleに定義された文字列を返します。 paramsには、文字列に埋め込むパラメータ(単一のオブジェクト、もしくは配列、もしくはCollectionのインスタンス)を指定可能です。
利用例
${m:rsp('resource-bundle-name', 'key', params)}
このEL関数呼び出しは、無効な参照です
TemplateUtil#getResourceString(ResourceBundle, String, String, Object...)
- パラメータ:
baseName
- ResourceBundleのbaseNamekey
- キーparams
- 文字列へ埋め込むパラメータ- 戻り値:
- 文字列
-