Sounds like everything is working fine.

The browser retains the URL of the page it posted to (the action of
the HTML FORM element). JSF doesn't load the next view until AFTER
your action has been executed and the navigation rules are processed.

1) page is rendered
2) user submits the form to the CURRENT URL
3) view is re-loaded
4) validation (if not valid, return the current page to the user, URL
& view are not changed)
5) Update model
6) process action (if navigation rule is not found, return the current
page to the user, URL & view are not changed)
7) Either send a redirect to the user or render the new page to the user

If the rule was a redirect, the user is redirected to the new URL of
the new JSF view and the URL is updated in the browser.

If the rule is "normal," the browser remains on the same page it
posted to (the previous URL). The component state of JSF however is on
a different view-id and that is why the next post knows which view to
load.

In summary:

URL != View ID

There are many WIKI entries and posts discussing this and different
ways of handling this based on your needs.

-Andrew

On 10/3/06, Harry Co <[EMAIL PROTECTED]> wrote:
Hi all,

I facing some odd behaviour using t:commandLink.

On my my page, I have a t:commandLink leading to a second page via
navigation rule configuration

When I click the link, the proper view is displayed but the url displayed by
the browser doe not change (ex: when clicked from the home page
http://localhost:8080/myApp/index.faces , I navigate to
contacts.xhtml view but url still
http://localhost:8080/myApp/index.faces ).


My nav-rules are quite simple:


>
>
> <navigation-case >
>
>       < from-outcome> nav.home</ from-outcome>
>
>       < to-view-id> /index.xhtml</ to-view-id>
>
> </ navigation-case>








<navigation-case>

 <from-outcome>nav.contacts</from-outcome>

 <to-view-id>/contacts.xhtml</to-view-id>

</navigation-case>




Have you faced this?
 I'm using facelets 1.1.4 whith myfaces 1.1.3 tomahawk 1.1.2.

Any suggestion is welcome!

TIA
Harry.


Reply via email to