クラス 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 StringstrをHTML出力用にエスケープします。static StringstrをJavaScript出力用にエスケープします。static StringstrをXML(XHTML)出力用にエスケープします。static StringfixToken()トランザクショントークン(セッション単位の固定値)の値を出力します。static String指定のvalueをpatternでフォーマット出力します。static StringMessage定義(メタデータ)として登録されているメッセージを出力します。static StringMessage定義(メタデータ)として登録されているメッセージを出力します。static Objectvalがnullであった場合、defaultValを返却します。static StringoutputToken(Object tokenOutputType, boolean createNew) トランザクショントークンを出力します。static Objectnameで指定されるPreferenceの値を取得します。static RequestContextrc()RequestContextのインスタンスを取得します。static String指定された基底名、キーからResourceBundleに定義された文字列を返します。static String指定された基底名、キーからResourceBundleに定義された文字列を返します。static StringtcPath()tenant名まで含むコンテキストパスを取得します。static Stringtoken()トランザクショントークンの値を出力します。
-
コンストラクタの詳細
-
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- 文字列へ埋め込むパラメータ- 戻り値:
- 文字列
-