我有一个配置为首选项公司范围的 portlet,因此每个人都可以共享相同的首选项
现在我想为这些偏好设置一个默认值,所以这个代码应该只需要在整个生命周期的第一次执行。这就是为什么我相信 init() 方法是设置此默认值的最佳选择,以防它们之前尚未设置。
如何从那里检索 PortletPreferences 对象?
编辑我正在寻找可从 GenericPortlet 检索的 portletContext 和 portletConfig 但到目前为止还没有运气
我有一个配置为首选项公司范围的 portlet,因此每个人都可以共享相同的首选项
现在我想为这些偏好设置一个默认值,所以这个代码应该只需要在整个生命周期的第一次执行。这就是为什么我相信 init() 方法是设置此默认值的最佳选择,以防它们之前尚未设置。
如何从那里检索 PortletPreferences 对象?
编辑我正在寻找可从 GenericPortlet 检索的 portletContext 和 portletConfig 但到目前为止还没有运气
如果您真的从未更改过这些值,那么只需初始化一次并保留它们直到您重新启动服务器就可以了,我会将它们硬编码到您的 portlet 中。
如果配置更改的可能性很小(如果只是最初,在向页面添加 portlet 之后),请在需要时阅读它们。并在 portlet.xml 中提供默认值:
<portlet>
<portlet-name>my-portlet</portlet-name>
<portlet-class>
com.example.MyPortlet
</portlet-class>
<portlet-preferences>
<preference>
<name>my-first-pref</name>
<value>some default value</value>
</preference>
</portlet-preferences>
</portlet>
请记住:如果您更改了 portlet首选项,则必须重新启动服务器才能激活它们。
如果您碰巧担心获取首选项的性能:衡量是否有影响,发布数字。我敢打赌,您可以在其他地方获得更多性能。如果您绝对无法在其他地方获得性能:恭喜,您拥有一个经过良好调整的系统。