0

Java Maven Web アプリケーションを作成しました。今私の問題は、リソース バンドルまたはプロパティ クラスを使用してプロパティ ファイルにアクセスする必要があることです。しかし、このプロパティ ファイルは webapp/resources フォルダー、つまり js および css ファイルと同じディレクトリにあります。

私はこのユーティリティメソッドを持っていますが、必要に応じて新しいものを書くことができます:

public static ResourceBundle getBundle(String baseName, String absolutePath) {
    File file = new File(absolutePath);
    ResourceBundle bundle = null;
    try {
        URL[] urls = { file.toURI().toURL() };
        ClassLoader loader = Thread.currentThread().getContextClassLoader();
        bundle = ResourceBundle.getBundle(baseName, Locale.getDefault(), loader);
    } catch (MalformedURLException e) {
    }
    return bundle;
}

私のプロジェクト構造:

-project

 -------src

   --------main
           ---------java
           ---------resources
           ---------webapp
                    ----------resources
                              -----------app.properties
                              -----------script.js
4

3 に答える 3

1

あなたのプロパティ ファイルは、Web アプリケーションのルートに関連しているようです。その場合、ServletContext で getResource() を使用できます

于 2013-03-28T09:21:39.987 に答える
0

webapp/resources フォルダーをクラスパスに追加することで、ようやく機能するようになりました。クラスパスに追加した後、次のように簡単に実行できます-

ResourceBundle bundle = ResourceBundle.getBundle(bundleName);
于 2013-03-29T08:53:54.490 に答える
0

自分自身 (mydomain/myapp/resources/app.properties) に HttpUrlConnection を発行できますが、これは見苦しい解決策だと思います

より一般的なアプローチは、app.properties をクラスパス (例: src/main/resources) に再配置することです。次に、Spring を使用する場合は、ClasspathResource を使用できます。または、この投稿を読むことができます: How to really read text file from classpath in Java

そこに app.properties を配置すると、すべてのユーザーが app.properties を読み取ることができることを意味する可能性があることに注意してください

于 2013-03-28T09:22:31.257 に答える