|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.apache.struts.util.MessageResources
jp.terasoluna.fw.web.struts.action.DBMessageResources
public class DBMessageResources
メッセージリソース機能とは、JSP内で表示するエラーメッセージなど、
特定のキーに対してメッセージを取得する機能である。
このクラスを使用することによって、メッセージリソース定義ファイル
(通常Strutsで使われるプロパティファイル形式のメッセージリソース)だけでなく、
クラスロード時にDBを参照し、DBからのメッセージリソースを使用することが
可能である。
このクラスは、
Won't FixとなっているStrutsのバグ STR-2172(https://issues.apache.org/jira/browse/STR-2172)
を回避する手段を有している。
詳細は、MessageFormatCacheMapFactory を参照。
DB内で設定されたメッセージリソースは、全モジュール内で 共有されるが、メッセージリソース定義ファイルのメッセージリソースは、 Strutsの各モジュールごとに独立する。 以下サンプルを用いて、このクラスを使用したときに、メッセージリソース機能が どのように振舞うか解説する。
例として、モジュールA、モジュールBという複数のモジュールが存在し、
モジュール毎のメッセージリソースの設定(メッセージリソース定義ファイル)に
下記のような指定があるとする。
| モジュール名 | メッセージキー | メッセージ文言 | メッセージの登録先 |
| モジュールA | message.propMessageResource | "moduleA" | メッセージリソース定義ファイル |
| message.dbMessageResource | "DB" | DB | |
| モジュールB | message.propMessageResource | "moduleB" | メッセージリソース定義ファイル |
| message.subMessageResource | "subModule" | メッセージリソース定義ファイル |
message.propMessageResource
message.dbMessageResource
message.propMessageResourcemessage.subMessageResourcemessage.dbMessageResourcemessage.propMessageResourceが見えているが、各モジュールで
取得できるメッセージは、
message.dbMessageResourceに対して取得できるメッセージは、
モジュールA、モジュールBともに "DB"である。module.subMessageResourceのキーで
参照しても、メッセージは取得できない。)
GlobalMessageResourcesを参照のこと。
.properties)を取り除いたものDBMessageResourcesFactoryMessageResourcesDAOImplの使用法については
同クラスのJavadocを参照のこと。
<メッセージキー>=<メッセージ文言>
errors.requiredArray={0}番目の{1}は必須入力です。
errors.alphaNumericStringArray={0}番目の{1}は半角英数字でなくてはなりません。
MessageFormatCacheMapFactory,
GlobalMessageResources,
DBMessageResourcesFactory,
MessageResourcesDAO,
MessageResourcesDAOImpl,
直列化された形式| フィールドの概要 | |
|---|---|
static String |
MESSAGES_DAO
システム設定プロパティファイル(system.properties)内で DAOを取得する際に使用するキー。 |
static String |
MESSAGES_SQL
システム設定プロパティファイル(system.properties)内で SQLを取得する際に使用するキー。 |
| クラス org.apache.struts.util.MessageResources から継承されたフィールド |
|---|
config, defaultFactory, defaultLocale, factory, formats, returnNull |
| コンストラクタの概要 | |
|---|---|
DBMessageResources(org.apache.struts.util.MessageResourcesFactory factory,
String config)
指定されたパラメータによってDBMessageResourcesを生成する。 |
|
DBMessageResources(org.apache.struts.util.MessageResourcesFactory factory,
String config,
boolean returnNull)
指定されたパラメータによってDBMessageResourcesを生成する。 |
|
| メソッドの概要 | |
|---|---|
protected static void |
dbInit()
DB内のメッセージキーとメッセージ文言のペアを取得する。 |
String |
getMessage(Locale locale,
String key)
指定されたキーにもとづきメッセージ文言を取得する。 |
String |
getMessage(String key)
指定されたキーにもとづきメッセージ文言を取得する。 |
protected void |
propertyInit(String propertyFile)
メッセージリソース定義ファイルからメッセージキーとメッセージ文言の ペアを取得する。 |
| クラス org.apache.struts.util.MessageResources から継承されたメソッド |
|---|
escape, getConfig, getFactory, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessageResources, getReturnNull, isEscape, isPresent, isPresent, localeKey, log, log, messageKey, messageKey, setEscape, setReturnNull |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final String MESSAGES_DAO
public static final String MESSAGES_SQL
| コンストラクタの詳細 |
|---|
public DBMessageResources(org.apache.struts.util.MessageResourcesFactory factory,
String config)
factory - メッセージリソースファクトリconfig - メッセージリソース定義ファイル名
public DBMessageResources(org.apache.struts.util.MessageResourcesFactory factory,
String config,
boolean returnNull)
factory - メッセージリソースファクトリconfig - メッセージリソース定義ファイル名returnNull - org.apache.struts.util.MessageResources
クラスの returnNull
false 指定時、キーに該当するメッセージが
存在しない場合???Locale.key???という形式でメッセージを
返却する。| メソッドの詳細 |
|---|
protected static void dbInit()
protected void propertyInit(String propertyFile)
propertyFile - メッセージリソース定義ファイル名
public String getMessage(Locale locale,
String key)
すべてのメッセージリソースに初期化処理が行われなかった場合、 あるいは、どの定義からもメッセージキーに該当する値が 取得できなかった場合、生成時のreturnNull指定によって、 nullか、あるいはStrutsの形式(???Locale.key???)で返却される。
なお、ここで指定されているロケールは考慮されない。 すなわちgetMessage(key)と同じ動作をする。
org.apache.struts.util.MessageResources 内の getMessagelocale - メッセージロケール。考慮されないkey - メッセージキー
public String getMessage(String key)
org.apache.struts.util.MessageResources 内の getMessagekey - メッセージキー
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||