Regułki nawigacyjne

Posted by admin

Tradycyjnie regułki nawigacyjne umieszcza się w pliku faces-config.xml. To podejście wywodzi się z wersji JSF 1.x

Przykład:

...
<navigation-rule>
    <from-view-id>/pages/abc/strona1.xhtml</from-view-id>
    <navigation-case>
        <from-outcome>write</from-outcome>
        <to-view-id>/pages/abc/strona1-write.xhtml</to-view-id>
        <redirect />
    </navigation-case>
</navigation-rule>
...

W JSF 2 jest możliwość stosowania implicit navigation. Metoda może np. zwracać string "/pages/abc/strona1-write.xhtml?faces-redirect=true".

np.

public String akcja() {
    return "/pages/abc/strona1-write.xhtml?faces-redirect=true";
}

Co więcej string nawigacyjny ("/pages/abc/strona1-write.xhtml?faces-redirect=true") może być bezpośrednio przypisany do atrybutu action i tym samym nie jest potrzebna już metoda.

Przykład:

<h:commandButton ... action="/pages/abc/strona1-write.xhtml?faces-redirect=true" />

Taki sposób nawigacji jest bardziej przyjazny dla SEO niż nawigacja za pomocą ponieważ roboty sieciowe nie indeksują formularzy POST

<h:link ... outcome="/pages/abc/strona1-write.xhtml?faces-redirect=true" />

Tags: