変数 (キー = 値) をストックしているプロパティ ファイル (rsources フォルダーの下) があります。
ユーザーが新しい値を挿入したり、古い値を更新したりするときに更新する必要がありますが、それを行うことはできますか? これはWebアプリケーションであるため、サーバーに展開された単なる戦争であるため、疑問があります。では、どうすれば .properties ファイルにアクセスして、コードから直接変更できるのでしょうか?
それが不可能な場合、別の解決策はありますか?
変数 (キー = 値) をストックしているプロパティ ファイル (rsources フォルダーの下) があります。
ユーザーが新しい値を挿入したり、古い値を更新したりするときに更新する必要がありますが、それを行うことはできますか? これはWebアプリケーションであるため、サーバーに展開された単なる戦争であるため、疑問があります。では、どうすれば .properties ファイルにアクセスして、コードから直接変更できるのでしょうか?
それが不可能な場合、別の解決策はありますか?
おそらく、ユーザーはファイルシステムに上書きプロパティ ファイルを提供できます。その値は、パッケージ化されたデフォルト プロパティ ファイルを上書きします。
この機能を許可するApache Commons Configurationを調べてください。
多くの場合、構成値の基本セットを提供したいが、ユーザーが特定の環境に合わせてそれらを簡単にオーバーライドできるようにします。1 つの方法は、デフォルト値をコードにハード コードし、これをオーバーライドするプロパティ ファイルを提供することです。ただし、これは非常に厳格な方法です。代わりに、CompositeConfiguration を使用すると、構成を設定するさまざまな方法を提供できます。
プロパティ ファイルを変更する代わりに、データベースに新しいテーブル (T_PROPERTIES など) を作成し、テーブルの行を追加/変更できます。キーと値の 2 つの列を持つテーブルを定義し、それに応じてレコードを変更します。
ユーザーにプロパティファイルへの書き込みを許可することはできますが、それはあまりクリーンではないと思います。java.util パッケージには「Properties」というクラスがあり、このクラスを使用して、Web アプリケーションから物理プロパティ ファイルの表現をロードできます。
たとえば、プロパティ ファイルをロードするには、次のコードを使用できます。
public void loadProps(File pfile) throws IOException {
Properties props = new Properties();
FileInputStream fis = new FileInputStream(propsFile);
props.load(fis);
fis.close();
}
これで、組み込みコマンドを使用してファイルを操作できるようになりました: -setProperty(String key, String value); -get(オブジェクトキー);
完了したら、プロパティ オブジェクトで save メソッドを呼び出すだけです。そのためには OutputStream が必要です。