2012-03-05 20 views
0

ネットを検索していましたが、解決策が見つかりませんでした。アプリケーション固有の構成パラメーターをフラット・テキスト・ファイルまたはxmlファイルに保管する方法についてのヘルプが必要です。このサービスを提供するJavaパッケージまたはクラスはありますか?アプリケーション固有のJSF2.0構成パラメータをテキストファイルに格納し、実行時にセッションスコープBeanに格納する方法

たとえば、データテーブルのページング長の設定などです。したがって、ページネーションパラメータを変更する必要があるときはいつでも、私のアプリケーションを再コンパイルする必要はありません。

このようなもの:おそらくこれを含むmyApp.cfgファイル。 ページネーション:10,20,30,50

次に、私のxhtmlファイルには、このようなものがあります。

さらに、セッションスコープ内またはアプリケーションスコープのバッキングBean内から構成パラメータにアクセスすることさえできます。その後、複数のユーザーのためにそれらを再利用します。

リソースバンドルプロパティファイルを使用して、ページングの長さなどの構成パラメータを格納し、このようなバッキングBeanにパラメータにアクセスできるかどうかを確認します。

FacesContext fc = FacesContext.getCurrentInstance(); 
    ResourceBundle bundle = fc.getApplication().getResourceBundle(fc,"bundle_name"); 
    bundle.getString("resource_identifier"); 

XMLのドットネット実装でapp.configファイルに似たものを探しています。

助けてください。私の質問が意味をなさない場合は、私に知らせてください。ビッグありがとうございます。例えばMyResources.properties

key1 = value1 
key2 = value2 

名このファイルをして、ソースパスのルートにそれを置く:

+0

あなたが行うべき最もよいことは、この値を保存し、それを操作するための管理インターフェイスを提供するアプリケーションスコープオブジェクトを作成することです。これにより、毎回プロパティファイルを読み込む必要がなくなります。まだファイルベースの設定が必要な場合は、クラスパスまたはユーザホームのどこかでプロパティファイルを作成し、必要な値を読み込んでください。 –

+0

ありがとう@prajeesh kumar、各設定を繰り返し読み込みできるJavaクラスがありますかキーを簡単に? – frazkok

+0

''のようなプロパティファイルを作成し、 'Properties props = new Properties();のように' Properties'にロードします。 InputStream in = this.getClass()。getResourceAsStream( "myapp.properties");props.load(in); 'それから、' String stringsStr = props.get( "paging_rows"); ' –

答えて

1

あなたはこのようなコンテンツを持つプロパティファイル(単純なテキストファイル)を使用することができます。あなたはResourceBundleクラスとプロパティファイルにアクセスすることができます次に

import java.util.ResourceBundle; 
... 
ResourceBundle rb = ResourceBundle.getBundle("MyResources"); 
String myValue1 = rb.getString("key1"); 

をあなたはどのセッションからこのファイルにアクセスすることができますが、あなたが好きなBeanをスコープ。パラメータがセッションに依存しない場合は、代わりにアプリケーションスコープBeanを使用することもできます。

+0

のようなマップのようなキーの値を取得できます。これをアプリケーションスコープのBeanのコンストラクタに入れてスローします安全でない操作の例外。何か案が? – frazkok

+0

例外はどこにスローされますか? –

+0

こんにちは@Mattハンディ、私は間違いを犯したことはありません。私はこのようにしましたFacesContext fc = FacesContext.getCurrentInstance(); ResourceBundle bundle = fc.getApplication()。getResourceBundle(fc、 "appconfig"); rowsPerPageTemplate = bundle.getString( "rowsperpagetemplate"); – frazkok

関連する問題