You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by sauli_k <sa...@fasolutions.fi> on 2009/05/22 13:45:32 UTC

Re: Portlets - Loosing state in wicket portlets

You could try setting 
layout.default.p_l_reset=false 

to portal-ext.properties and see if it helps keeping the state of the
portlets. 
(http://www.liferay.com/web/guest/community/forums/-/message_boards/message/2190331#_19_message_2214544)



Benjamin Ernst wrote:
> 
> Hi,
> 
> I am using two Wicket-Portlets in a Liferay 5.2.1 Portal. Both Portlets
> have
> a link which switches to another page within the portlet (via
> setResponsepage(new
> Page()) ).
> When I click the link in Portlet_1 the page within the portlet one changes
> as desired. After that I click the link in Portlet_2 and the page in
> Portlet_2 changes as desired, but i Portlet_1 the page changes to the
> Homepage.
> 
> I think that the problem might be in the getWicketURL(PortletRequest
> request, String pageType, String defaultPage) - method form
> WicketPortlet.java:
> 
> protected String getWicketURL(PortletRequest request, String pageType,
> String defaultPage)
>     {
>         String wicketURL = null;
>         // get the name of the wicket url paramater, as looked up from a
> request attribute called
>         // WicketPortlet#WICKET_URL_PORTLET_PARAMETER_ATTR
>         String wicketUrlParameterName =
> (String)request.getAttribute(WicketPortlet.WICKET_URL_PORTLET_PARAMETER_ATTR);
>         if (request instanceof ActionRequest)
>         {
>             // try to lookup the passed in wicket url parameter
>             wicketURL = request.getParameter(wicketUrlParameterName);
>         }
>         else if (request instanceof ResourceRequest)
>         {
>             wicketURL = ((ResourceRequest)request).getResourceID();
>         }
>         else
>         {
>             // try to lookup the passed in wicket url parameter, suffixed
> with the portlet mode
>             String parameterName = wicketUrlParameterName +
> request.getPortletMode().toString();
>             wicketURL = request.getParameter(parameterName);
>         }
> 
>         // if the wicketURL could not be retrieved, return the url for the
> default page
>         if (wicketURL == null)
>         {
>             wicketURL = getWicketConfigParameter(request,
> CONFIG_PARAM_PREFIX + pageType,
>                 defaultPage);
>         }
>         return wicketURL;
>     }
> 
>  - In the RenderRequest for Portlet_2 the wicketUrlParameterName is for
> the
> Linklistener that was clicked. This works fine.
>  - In the RenderRequest for Portlet_1 the wicketUrlParameterName is null.
> So
> by default the defaultPage of Portlet_1 is loaded, which is the Homepage.
> 
> Is this the correct behaviour?
> I think the wicketURL for the RenderRequest for Portlet_1 should not be
> the
> defaultPage but instead the last rendered Page from Portlet_1. Is there a
> way to get the URL of the last page from Wicket?
> 
> Thanks for any help!
> 
> --Benjamin
> 
> 

-- 
View this message in context: http://www.nabble.com/Portlets---Loosing-state-in-wicket-portlets-tp22431482p23668875.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org