-1

ResourceBundle を独自に実装しようとしています。データベースからテキストをロードしたい。私は何かで立ち往生しています。

Map オブジェクトからプログラムで ResourceBundle を作成するにはどうすればよいですか? マップ オブジェクトには、ロケールに基づいて国際化されたテキストが含まれます。

ありがとう、デイビス

4

2 に答える 2

6

それは非常に簡単です:

public class MapResourceBundle extends ResourceBundle {

    Map<String, Object> map;

    public MapResourceBundle(Map<String, Object> map) {
        this.map = map;
    }

    @Override
    protected Object handleGetObject(String key) {
        return map.get(key);
    }

    @Override
    public Enumeration<String> getKeys() {
        return Collections.enumeration(map.keySet());
    }

}

この後、使用できますMapResourceBundle(もちろん、初期化した後)。

于 2013-01-21T17:48:47.707 に答える
0

具体的にする必要がありますResourceBundleか?Springは、MessageSourceさまざまな実装で抽象化を提供します。標準の実装はに支えられていますが、マップからデータを取り込むことができるものや、DBに支えられているこのようなサードパーティの実装などResourceBundleの代替手段があります。StaticMessageSource

于 2013-01-21T17:47:23.353 に答える