将更改保存到Grails中的Property File

时间:2013-04-04 20:52:22

标签: spring grails groovy grails-2.0

我有一个从属性文件中读取的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文件的任何想法?

1 个答案:

答案 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