我有一个从属性文件中读取的grails应用程序。我创建了一个管理页面,允许用户查看此文件中的设置。我想允许用户更新各种属性并使用Grails将它们保存回属性文件。
我的问题是我似乎无法弄清楚如何将更改保存回属性文件。
这是我的代码,它从文件中读取并更改属性:
def env = params.getAt("environment");
if (env != null){
//Read from Property file based on user selection
def props = new Properties()
def cl = Thread.currentThread().contextClassLoader
def filepath = env+'.properties'
props.load servletContext.getResourceAsStream("/WEB-INF/"+ filepath)
Enumeration e = props.propertyNames();
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
def input = params.getAt(key)
if (input != null){
props.setProperty(key,input)
}
}
//props.store(propFile.newWriter(), null)
}
有关如何在/WEB-INF/example.properties中保存/覆盖example.properties文件的任何想法?
答案 0 :(得分:1)
我认为你可能在 ServletContext 中寻找 getRealPath 方法 http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContext.html#getRealPath(java.lang.String)
简单示例,向您展示如何使用它
http://82.157.70.109/mirrorbooks/javaservletjspcookbook/0596005725_jsvltjspckbk-chp-14-sect-7.html