intra-mart Accel Platform SAStruts+S2JDBC プログラミングガイド 第15版 2018-08-01

多言語化されたメッセージを取得する

概要

MessageManager やタグを使って、多言語化されたメッセージを取得する方法を説明します。

MessageManager によるメッセージの取得

メッセージコードを指定してメッセージを取得する

メッセージコードと、現在ログインしているユーザの言語から、メッセージプロパティファイルに定義されたメッセージを取得します。
String exampleMsg = jp.co.intra_mart.foundation.security.message.MessageManager.getInstance().getMessage("I18N.MESSAGE.EXAMPLE");
メッセージは、次のように自動解決されます。
  1. アカウントコンテキスト言語のメッセージ
  2. テナント言語のメッセージ
  3. システム・デフォルト言語のメッセージ
  4. 言語 ID の付いていないメッセージプロパティファイルのメッセージ
  5. ユーザ言語で「未定義」を意味するメッセージ
上記のいずれにも該当しない場合は、文字列「undefined」が返却されます。

メッセージコードと言語を指定してメッセージを取得する

メッセージコードと、指定された言語から、メッセージプロパティファイルに定義されたメッセージを取得します。
String exampleMsg = jp.co.intra_mart.foundation.security.message.MessageManager.getInstance().getMessage(Locale.ENGLISH, "I18N.MESSAGE.EXAMPLE");
メッセージは、次のように自動解決されます。
  1. 指定された言語のメッセージ
  2. 言語 ID の付いていないメッセージプロパティファイルのメッセージ
上記のいずれにも該当しない場合、文字列「undefined」が返却されます。

タグによるメッセージの取得

MessageManager に対応するタグが提供されています。
動作は MessageManager と同じです。

メッセージコードを指定してメッセージを取得する

<%@ taglib prefix="imarttag" uri="http://www.intra-mart.co.jp/taglib/core/standard" %>
<imarttag:message id="I18N.MESSAGE.EXAMPLE"></imarttag:message>

メッセージコードと言語を指定してメッセージを取得する

<%@ taglib prefix="imarttag" uri="http://www.intra-mart.co.jp/taglib/core/standard" %>
<imarttag:message id="I18N.MESSAGE.EXAMPLE" locale="en"></imarttag:message>