如何在liferay中保存属性文件

时间:2013-01-15 14:42:19

标签: java liferay

我需要以编程方式进行属性更改以保持服务器重新启动,重新部署等。基本上,我需要在进行更改时修改属性文件。这甚至可能吗?目前,我有属性工作,但值不会在属性文件夹中更改。

            String realPath = getPortletContext().getRealPath("/");

        FileInputStream in = new  FileInputStream(realPath+"json.properties");



        Properties p = new Properties();
        p.load(in);

        System.out.println(p.getProperty("json"));

              in.close();
        p.setProperty("json", "test");
        System.out.println(p.getProperty("json"));

        FileOutputStream out = new FileOutputStream(realPath+"json.properties");
        p.store(out, "test");
        in.close();

       out.close(); 

       System.out.println(com.liferay.util.portlet.PortletProps.get("json"));
       com.liferay.util.portlet.PortletProps.set("json", "change");
       com.liferay.util.portlet.PortletProps.set("new", "change");
       System.out.println(com.liferay.util.portlet.PortletProps.get("new"));

portal.properties:

json=help
new=new1

json.properties

json=blank
代码运行时输出

空白    测试    救命    变化

如上所示,我尝试使用常规java属性并尝试使用liferay属性。我需要基本上需要获取一些json,编辑它,然后保存以供以后使用。我需要更改才能继续,直到再次编辑。

1 个答案:

答案 0 :(得分:1)

我以前的所有代码都是垃圾,我解决它的方式是使用

            PortletPreferences portletPreference = actionRequest.getPreferences();

        portletPreference.setValue("help", "me");
        portletPreference.store();

注意:我之前尝试过没有运气,问题是我的进口。确保你使用 javax.portlet.PortletPreferences;而不是liferay portletpreferences类。