[seam-issues] [JBoss JIRA] Commented: (JBSEAM-4495) Page actions do not work with JSF 2.0

Dan Allen (JIRA) jira-events at lists.jboss.org
Tue Feb 2 18:02:19 EST 2010


    [ https://jira.jboss.org/jira/browse/JBSEAM-4495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12509952#action_12509952 ] 

Dan Allen commented on JBSEAM-4495:
-----------------------------------

Research on this issue has led me to conclude that this is a pitfall introduced by implicit navigation in JSF 2. The original idea behind implicit navigation was to interpret a return value in the syntax of a view ID as an intent to navigate to that view. But the enhancement was taken a step further to automatically derive a view ID from the return value if the outcome did not match a navigation case. Thus, a return value of false is converted to the string "false" and then into the view ID /false.xhtml.

My first thought was to check for a real navigation case and only navigate if one is found when handing page actions. Unfortunately, there is no way to distinguish between an implicit navigation case and a real navigation case. I have filed the following spec issue:

https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=736

In the interim, what we have to do is make sure that page actions only return values if we intend to navigate. Otherwise, we have to wrap or otherwise hide the return value from the navigation handler.

I'm not sure what the page action is trying to accomplish in this case, but perhaps a more appropriate page action would be #{identity.quietLogin}.

> Page actions do not work with JSF 2.0
> -------------------------------------
>
>                 Key: JBSEAM-4495
>                 URL: https://jira.jboss.org/jira/browse/JBSEAM-4495
>             Project: Seam
>          Issue Type: Bug
>          Components: JSF Integration
>    Affects Versions: 2.2.0.GA
>            Reporter: Jozef Hartinger
>            Assignee: Norman Richards
>            Priority: Blocker
>             Fix For: 2.2.1.CR1
>
>
> Looks like implicit navigation in JSF 2.0 messes up with page actions in Seam. For instance, the following page action from the booking example:
> <page view-id="/home.xhtml" action="#{identity.isLoggedIn}">
> seems to cause the result of the action (false) to be taken as an implicit navigation information and the application fails with
> HTTP Status 404 - /seam-booking/false.seam

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the seam-issues mailing list