[ 
https://issues.apache.org/jira/browse/WICKET-2078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12714017#action_12714017
 ] 

Hardi Probst commented on WICKET-2078:
--------------------------------------

Recent quote from the ibm-forum regarding this issue ( 
http://www.ibm.com/developerworks/forums/thread.jspa?threadID=250807 ):

"
If you want to use a PortletRequestDispatcher with javax.servlet.Filter's, you 
have to be aware of the fact that the PortletRequest used with the dispatcher 
is not the same as the ServletRequest you get in the doFilter method of your 
servlet filter. According to the Portlet 2.0 spec (PLT.19.3.2), you should be 
able to retrieve the current PortletRequest like this from the servlet request 
in a servlet filter (filtering an rd included JSP or Servlet):

public void doFilter(ServletRequest request, ServletResponse response, 
FilterChain chain) throws IOException,
            ServletException
    {
        PortletRequest portletRequest = (PortletRequest) 
request.getAttribute("javax.portlet.request");
        portletRequest.getParameter("param1");
        [...]
        chain.doFilter(request, response);
    }

"


> WICKET-2058 does not support IBM Websphere Portal Server 6.1
> ------------------------------------------------------------
>
>                 Key: WICKET-2078
>                 URL: https://issues.apache.org/jira/browse/WICKET-2078
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-portlet
>         Environment: WebSphere Platform 6.1 [ND 6.1.0.15 cf150808.12]  
>            Reporter: Hardi Probst
>            Assignee: Ate Douma
>         Attachments: patch.txt, patch2.txt
>
>
> First of all I want to say thanks a lot for resolving the issue WICKET-2058 
> to Ate, Thijs and Antony!
> I checked out the revision 739543 from trunk and experimented/tested a lot 
> with the wicket examples within IBM Websphere Portal 6.1.
> I had to add the following lines into web.xml to get the first 
> example-portlets visible in my browser:
>   <context-param>
>     <param-name>org.apache.wicket.detectPortletContext</param-name>
>     <param-value>true</param-value>
>   </context-param>
> The next problem I stumbled over was that the generated links (e.g. 
> BookmarkablePageLink<Void>("link", PageXY.class) ) did not work at all.
> I traced the problem down to the point that the generated wicketURL in 
> PortletRequestContext.encodeRenderURL includes all query-parameters but the 
> PortletFilter does 
> not get them as parameters, just the path-part.
> WicketPortlet.processRequest:
>       PortletRequestDispatcher rd = 
> getPortletContext().getRequestDispatcher(wicketURL);
>       if (rd != null)
>       {
>               // delegate to wicket filter - this is where the magic happens
>               rd.include(request, response);
>               ...
> Let's assume wicketURL has the value of 
> "/repeater/?wicket:interface=:8:oir:17:toggleHighlite:2:ILinkListener::", the 
> result would be the same as the value of "/repeater/".
> I was able to fix it by applying the query parameters as "real" parameters to 
> the javax.portlet.PortletURL for Action and Render-URLs (see Patch for 
> PortletRequestContext).
> After that I had the same problem with form-submission. The form-values came 
> in perfectly to the model, but after leaving the ACTION-PHASE the state was 
> all gone in RENDER-PHASE. 
> So I did the same in WicketPortlet.processActionResponseState and applied all 
> wicketURL-query parameteters to the response (setRenderParameter). see Patch 
> for WicketPortlet.
> Another solution could be a PortletRequestWrapper within the WicketFilter 
> implementation. Or does anybody have a better idea?
> It would be really great to see this issue fixed in wicket 1.4!
> I'll keep on testing the next days with the ajax examples (some worked 
> already with the provided patch applied) and WPS 6.1...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to