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

Martin Grigorov commented on WICKET-5500:
-----------------------------------------

When 'myjsessionid' is set as a custom jsessionid with 
-Dwicket.jsessionid.name=myjsessionid Wicket properly removes it from the url 
here:

stripJSessionId():924, Strings {org.apache.wicket.util.string}, Strings.java
getContextRelativeUrl():184, ServletWebRequest 
{org.apache.wicket.protocol.http.servlet}, ServletWebRequest.java
<init>():113, ServletWebRequest {org.apache.wicket.protocol.http.servlet}, 
ServletWebRequest.java
<init>():83, ServletWebRequest {org.apache.wicket.protocol.http.servlet}, 
ServletWebRequest.java
newWebRequest():449, WebApplication {org.apache.wicket.protocol.http}, 
WebApplication.java
createWebRequest():494, WebApplication {org.apache.wicket.protocol.http}, 
WebApplication.java
processRequest():196, WicketFilter {org.apache.wicket.protocol.http}, 
WicketFilter.java
....

So it seems the reporter in the mailing list discussion 
(http://markmail.org/message/gxapm54ekwhcrdl4) didn't set it properly.

Now the question is: Should Wicket remove any other path parameters from the 
parsed class name from the url ? In my opinion it should.

> Remove the jsessionid path parameter when reading the page class
> ----------------------------------------------------------------
>
>                 Key: WICKET-5500
>                 URL: https://issues.apache.org/jira/browse/WICKET-5500
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 6.13.0
>            Reporter: Martin Grigorov
>
> http://localhost:8080/linkomatic/wicket/bookmarkable/org.apache.wicket.examples.linkomatic.Page3;myjsessionid=123456
>  leads to :
> WARN  - AbstractRepeater           - Child component of repeater 
> org.apache.wicket.markup.repeater.RepeatingView:area has a non-safe child id 
> of page1. Safe child ids must be composed of digits only.
> WARN  - WicketObjects              - Could not resolve class 
> [org.apache.wicket.examples.linkomatic.Page3;blass=koko]
> java.lang.ClassNotFoundException: 
> org/apache/wicket/examples/linkomatic/Page3;blass=koko
>       at java.lang.Class.forName0(Native Method)
>       at java.lang.Class.forName(Class.java:264)
>       at 
> org.apache.wicket.application.AbstractClassResolver.resolveClass(AbstractClassResolver.java:108)
>       at 
> org.apache.wicket.core.util.lang.WicketObjects.resolveClass(WicketObjects.java:72)
>       at 
> org.apache.wicket.core.request.mapper.AbstractComponentMapper.getPageClass(AbstractComponentMapper.java:139)
>       at 
> org.apache.wicket.core.request.mapper.BookmarkableMapper.parseRequest(BookmarkableMapper.java:118)
>       at 
> org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.mapRequest(AbstractBookmarkableMapper.java:292)
>       at 
> org.apache.wicket.request.mapper.CompoundRequestMapper.mapRequest(CompoundRequestMapper.java:152)
>       at 
> org.apache.wicket.request.cycle.RequestCycle.resolveRequestHandler(RequestCycle.java:190)
> ...
> Such request at the moment works only if the the path parameter name is 
> 'jsessionid'



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to