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

Ronny Pscheidl commented on WICKET-4019:
----------------------------------------

Hello Peter,
i have tested a lot. generated urls and ids are not the problem. The problem 
ist the bind method. in gatein there comes an Util.js in html header which 
define the bind method like this:

Function.prototype.bind = function(object) {
  var method = this;
  return function() {
    method.apply(object, arguments);
  }
}


i have searched the bind definition in wicket-ajax an find this:

if (Function.prototype.bind == null) {
        Function.prototype.bind = function(object) {
                var __method = this;
                return function() {
                        return __method.apply(object, arguments);
                }
        }
}

if i call without container then i use the javascript engine bind function 
because Function.prototype.bind == null is false. with portal container the 
Util.js form gatein sets this function every time. i have openend a ticket for 
gatein (see https://issues.jboss.org/browse/GTNPORTAL-2167 for workaround) to 
set also this if condition before bind. 

The problem with the header params is also a gatein problem. The problem is 
that SimpleMultiValuedPropertyMap from gatein which holds in portalcontainer 
the headers does not load values with equalsIgnoreCase like MimeHeaders do in 
Request. i have implemented the two methods getHeader, getHeaders in 
PortletServletRequestWrapper. maybe you could update the attached class in 
wicket-portlet.










                
> Portlet Support 1.5
> -------------------
>
>                 Key: WICKET-4019
>                 URL: https://issues.apache.org/jira/browse/WICKET-4019
>             Project: Wicket
>          Issue Type: New Feature
>          Components: wicket
>    Affects Versions: 1.5-RC7
>            Reporter: Peter Pastrnak
>         Attachments: PortletServletRequestWrapper.java, ResponseState.java, 
> Wicket - Portlet.htm, wicket-portlet-1.5.0.zip, wicket-portlet-1.5.1.1.zip, 
> wicket-portlet-1.5.1.2.zip, wicket-portlet-1.5.1.3.zip, 
> wicket-portlet-1.5.1.zip, wicket-portlet-1.5.RC7.zip, with bind(this).jpg, 
> without bind(this).jpg
>
>
> Url returned by the RequestMapper does not seem to be properly rendered, as 
> it does not encode question mark character in the Url parameter value (I 
> haven't checked the w3c spec, but at least Liferay Portal seems to require it 
> to be encoded) 
> The reason is this definition in the UrlEncoder: 
>                         case QUERY : 
>                                 // to allow direct passing of URL in query 
>                                 dontNeedEncoding.set('/'); 
>                                 // to allow direct passing of URL in query 
>                                 dontNeedEncoding.set('?'); 
> Currently URL "http://host/file?param=a?b"; would be encoded as 
> "http://host/file?param=a?b";, instead of "http://host/file?param=a%3Fb";

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to