java - 如何通过liferay中的portlet conf选项卡修改属性文件?

标签 java jsp liferay portlet

我有一个自定义 portlet,它使用我在 portlet-conf.properties 中编写的 2 个参数。

因此,如果需要,我想更改它们,方法是在 portlet 的配置菜单中的设置选项卡中输入两个新值。

选项卡设置:http://imageshack.us/photo/my-images/155/samplesz.png/

我有我的 portlet 的 Controller 和 jsp,还有一个 conf.jsp 和 ConfigurationActionImpl,它实现了渲染,对于该选项卡,目前返回的 conf.jsp 和 processAction 为空。

如何对我的 jsp 和 configAction 进行编码,使其具有 2 个输入文本,从而可以修改 portlet-conf.properties 中的两个参数?

我希望,当我们单击提交按钮时,更改属性文件上变量的值。 如果可能,在输入框中显示默认值和实际值。

问候。 谢谢

最佳答案

我认为您不能像那样覆盖属性值。属性文件应该用作 portlet 配置。

您必须使用 PortletPreferences 来实现相同目的。

你可以做的是在你的conf.jsp中,创建2个输入框和提交按钮。当您单击提交按钮时,您的 ConfigurationActionImplprocessAction() 将被调用。在此方法中,获取 PortletPreferences 并将值保存到其中。

属性文件将用作首选项的默认值。所以,流程是

1) 当用户第一次配置 portlet 时,您将在 portlet 首选项中获得空值,因此从属性文件加载。

2) 用户可以更改值,当他/她单击提交按钮时,将其保存到 PortletPreferences

3) 下次,从 PortletPreferences 中获取值。

希望这会有所帮助。

关于java - 如何通过liferay中的portlet conf选项卡修改属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11096367/

相关文章:

Liferay 7 禁用功能/模块

javascript - Vaadin(自包含)portlet (Liferay) 与 Javascript (d3js)

java - request.getRequestDispatcher().forward 会创建新线程吗?

java - 如何在 Java Swing 中将 html 文本附加到 JLabel

java - Spring @ModelAttribute 模型字段映射

java - 使用 ActiveQuery 将 JSP 数据下载到 Excel 工作表会导致字符问题

java - 将 JSP 映射到 servlet

识别存储为字符串的整数顺序的 Java Map 数据结构

jsp - 小服务程序映射。网页.xml

java - 我有这个异常 : Unresolved requirement: Import-Package: com. liferay.portal.instance.lifecycle;版本 ="[2.0.0,3.0.0)"