JSF Navigation Rule to the page itself

2019-08-22 08:25发布

问题:

How can I define a navigation rule from all view-ids from #{current.doLogout} to the same view-id?

回答1:

If you don't define any or return null or void in action method, it will by default display the same page as where the form is been submitted.

public void doLogout() {
    // Logout.
}

This way you don't need to fiddle with navigation cases in faces-config.xml. Are you by the way already aware of the new JSF 2.0 "implicit navigation" feature?



回答2:

You need to use wildcards to achieve this

Just call the logout method in action tag. and just add this to your faces-config.xml

<navigation-rule>
 <from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>welcome</from-outcome>
<to-view-id>/login.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>