Forums

Home » Liferay Portal » English » x. Miscellaneous

Combination View Flat View Tree View
Threads [ Previous | Next ]
X Man
Portlet Preferences
January 19, 2012 4:35 AM
Answer

X Man

Rank: Junior Member

Posts: 41

Join Date: January 5, 2012

Recent Posts

Hello.
I use PortletPreferences class,this code to store preferences in the action(ConfigAction implements ConfigurationAction):
preferences().setValue("greeting", greeting);
preferences().store();

,and this code to retrieve the data in the jsp page:
String greeting = preferences.getValue("greeting", "no peferences");
But I dont get the values that I stored it.
How can I use the preferences successfully.
Thank you.
Dave Weitzel
RE: Portlet Preferences
February 9, 2012 8:14 PM
Answer

Dave Weitzel

Rank: Regular Member

Posts: 190

Join Date: November 18, 2009

Recent Posts

Are there any errors in your console log or catalina.out file?

I am also having problems using preferences.store() in 6.1 is that the version you are using? I ma be raising a jira ticket tomorrow if I cannot crack it.

to help more perhaps a full snippet of code showing how the preferences were created in the first place.
Sandeep Nair
RE: Portlet Preferences
February 9, 2012 10:49 PM
Answer

Sandeep Nair

Rank: Liferay Legend

Posts: 1692

Join Date: November 5, 2008

Recent Posts

If you are using ConfigurationAction retrieve portletPreferences like this in java

1String portletResource = ParamUtil.getString(
2            actionRequest, "portletResource");
3
4        PortletPreferences preferences =
5            PortletPreferencesFactoryUtil.getPortletSetup(
6                actionRequest, portletResource);
7preferences().setValue("greeting", greeting);
8preferences().store();


And in jsp use this
 1
 2PortletPreferences preferences = renderRequest.getPreferences();
 3
 4String portletResource = ParamUtil.getString(request, "portletResource");
 5
 6if (Validator.isNotNull(portletResource)) {
 7    preferences = PortletPreferencesFactoryUtil.getPortletSetup(request, portletResource);
 8}
 9String greeting = preferences.getValue("greeting", "no peferences");


Regards,
Sandeep
Ashraf habibi
RE: Portlet Preferences
March 5, 2014 9:39 PM
Answer

Ashraf habibi

Rank: Junior Member

Posts: 32

Join Date: May 13, 2011

Recent Posts

Hi

Its old thread, but my reply will helpful to others.

Portlet preferences based on userId
set the value
long companyId=themeDisplay.getCompanyId();
long ownerId=themeDisplay.getUserId();
int ownerType=PortletKeys.PREFS_OWNER_TYPE_USER;

javax.portlet.PortletPreferences preferences = PortalPreferencesLocalServiceUtil.getPreferences(companyId, ownerId, ownerType);
preferences.setValue(key,value);
preferences.setValue(key,value);
preferences.store();

Get the portlet preferences value
preferences.getValue(key, "No Value ");

if you want to set the portlet preferences based on portletId.
Set the value

ThemeDisplay themeDisplay = (ThemeDisplay)resourceRequest.getAttribute(WebKeys.THEME_DISPLAY);
String portletId=themeDisplay.getPortletDisplay().getId();

javax.portlet.PortletPreferences portletSetup =PortletPreferencesFactoryUtil.getLayoutPortletSetup(themeDisplay.getLayout(), portletId);

try {
portletSetup.setValue(key, value);
portletSetup.setValue(key, value);
try {
portletSetup.store();
} catch (ValidatorException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("value 1.."+portletSetup.getValue(key, "No Value"));
System.out.println("value 2.."+portletSetup.getValue(key, "No Value"));
} catch (ReadOnlyException e) {
e.printStackTrace();
}

Get the Value
portletPrefrence.getValue(key, "No Value");


Hope it will helpful

Thanks,
Ashraf