[ 
https://issues.apache.org/jira/browse/TAP5-1201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12894366#action_12894366
 ] 

Christophe Cordenier edited comment on TAP5-1201 at 8/1/10 6:41 AM:
--------------------------------------------------------------------

Active page name is used to pre-allocates control names in Form component, but 
also to append loopback marker in link generated by LinkSource.

Two decent workarounds :

- Redirect instead of direct rendering
- Insert your security component request filter after the one that initializes 
active page ("InitializeActivePageName")

At last, the active page state should be reseted in case of exception (can be 
done in developer code with onException) and current active page should be 
changed in DefaultRequestExceptionHandler to avoid consistency problem in 
loopback URL.

      was (Author: ccordenier):
    Active page name is used to pre-allocates control names in Form component, 
but also to append loopback marker in LinkSource.

Two decent workarounds :

- Redirect instead of direct rendering
- Insert your security component request filter after the one that initializes 
active page ("InitializeActivePageName")

At last, the active page state should be reseted in case of exception (can be 
done in developer code with onException) and current active page should be 
changed in DefaultRequestExceptionHandler to avoid consistency problem in 
loopback URL.
  
> PageResponseRenderer.render() should call 
> RequestGlobabls.storeActivePageName(String pageName) 
> -----------------------------------------------------------------------------------------------
>
>                 Key: TAP5-1201
>                 URL: https://issues.apache.org/jira/browse/TAP5-1201
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.2.0
>            Reporter: Kalle Korhonen
>            Assignee: Christophe Cordenier
>            Priority: Minor
>         Attachments: TAP5-1201.patch
>
>
> Applications may want render an error page as a response to handling an 
> exception thrown from a page. This can be achieved by calling 
> PageResponseRenderer.render() and worked in T5.1.05 but in T5.2 throws 
> ComponentSource.getActivePage() throws 
> "org.apache.tapestry5.ioc.internal.util.TapestryException: The identity of 
> the active page for this request has not yet been established" if the newly 
> added RequestGlobabls.storeActivePageName(String pageName) hasn't been called 
> before. When asked on the mailing list 
> (http://www.listware.net/201007/tapestry-users/10342-using-pageresponserendererrender-in-t52.html)
>  for adding the call to PageResponseRenderer.render(), Howard's response was:
> "I suppose it could; just a case of unexpected use of the APIs.  As currently 
> coded, we assume that the active page is identified by the component event or 
> page render dispatcher."

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