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

Johan Compagner commented on WICKET-1643:
-----------------------------------------

applied (still need to backport to 1.3)

> Bookmarkable / Stateless form submit bug
> ----------------------------------------
>
>                 Key: WICKET-1643
>                 URL: https://issues.apache.org/jira/browse/WICKET-1643
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.3.3, 1.4-M1
>         Environment: Any
>            Reporter: Doug Donohoe
>            Assignee: Johan Compagner
>             Fix For: 1.4-M3
>
>         Attachments: 1643.patch
>
>
> A stateless bookmarkable form submission isn't working correctly for 
> submissions after reboot or session expiration.  This may be due to the use 
> of MixedParamUrlCodingStrategy:
>  believe I've tracked down the problem to this code in 
> BookmarkablePageRequestTargetUrlCodingStrategy: 
>                 // do some extra work for checking whether this is a normal 
> request to a 
>                 // bookmarkable page, or a request to a stateless page (in 
> which case a 
>                 // wicket:interface parameter should be available 
>                 final String interfaceParameter = (String)parameters 
>                                 
> .remove(WebRequestCodingStrategy.INTERFACE_PARAMETER_NAME); 
>                 if (interfaceParameter != null) 
>                 { 
>                         
> WebRequestCodingStrategy.addInterfaceParameters(interfaceParameter, 
> requestParameters); 
>                         return new 
> BookmarkableListenerInterfaceRequestTarget(pageMapName, 
>                                         
> (Class)bookmarkablePageClassRef.get(), parameters, requestParameters 
>                                                         .getComponentPath(), 
> requestParameters.getInterfaceName(), 
>                                         
> requestParameters.getVersionNumber()); 
>                 } 
> The issue is that the 'parameters' will never contain the 
> INTERFACE_PARAMETER_NAME because it would have been removed in 
> WebRequestCodingStrategy:decode:215 which as far as I can tell is always 
> called first (from RequestCycle.step.RESOLVE_TARGET:1233). 
> The 'requestParameters' should already have the interface parameters, so it 
> isn't clear why the addInterfaceParameters() logic is being called again (it 
> is already called in WebRequestCodingStrategy:decode:200). 
> I've got a patch forthcoming.

-- 
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