2011-09-16 16 views
4

Liferay 6.0プラグインMVCポートレットで、ポートレットクラスからポートレット設定にアクセスするにはどうすればよいですか?ポートレットクラスのLiferayポートレット設定との対話

「構成」とは、ポートレットのインスタンスに固有の値を意味し、ではなく、ユーザー固有であることに注意してください。管理者がポートレット構成値を設定する場合は、すべてのユーザーに有効になります。

例:

public class MyPortlet extends MVCPortlet 
{ 
    @Override 
    public void doView(RenderRequest renderRequest, RenderResponse renderResponse) 
    throws IOException, PortletException 
    { 
    // Fill in the blank; what goes here? 
    String configValue = ?; 

    renderRequest.setAttribute("some-key", configValue);   

    super.doView(renderRequest, renderResponse); 
    } 
} 

答えて

5

あなたがこれを達成するためにLiferayのPortletPreferencesサービスを利用することができます:それはPortletPreferences(ユーザ固有の嗜好を意味する)の代わりに、PortletConfigurationのようなものという名前ですので

String portletInstanceId = (String) renderRequest.getAttribute(WebKeys.PORTLET_ID); 

PortletPreferences config = PortletPreferencesFactoryUtil.getPortletSetup(request, portletInstanceId); 

// To retrieve a value from configuration: 
String value = config.getValue("key", "default value"); 

// To store a value: 
config.setValue("key", newValue); 
config.store(); 

それはちょっと紛らわしいのですが(管理者が管理するグローバル構成を意味します)...そのため、ポートレット・インスタンスのプリファレンスは、どのユーザーにも固有ではありません。

+0

このような共通のケースを見なければならないのは残念です。 –

関連する問題