p:commandLink nicht Umleitung zur neuen Seite?
Ich bin mit JSF2 und GlassFish, PrimeFaces 2.1.
Dies funktioniert, showCreateProfile()
Methode getroffen wird, und die Methode gibt "profileForm" und der browser leitet auf diese Seite:
<h:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" />
Aber das funktioniert nicht, showCreateProfile()
- Methode erhalten hat, und die Methode gibt "profileForm" aber der browser kein redirect auf die Seite. Ich habe versucht drei verschiedene Dinge mit kein Glück:
<p:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" />
<p:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" ajax="false" />
<p:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" ajax="false" immediate="true"/>
Irgendwelche Ideen was ich falsch mache?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Primefaces'
p:commandLink
feuert standardmäßig ein ajax-request. Nicht wieder eine ganze HTTP-Antwort, aber nur eine partielle HTTP-Antwort, die muss aktualisiert werden, in HTML-DOM-Baum von JS.Haben Sie grundsätzlich zwei Optionen:
Deaktivieren ajax von
ajax="false"
Attribut. Werde es dann Feuer eine normale HTTP-Anfrage.Update (re-Darstellung) der teilweise Inhalt (auf der gleichen Seite!) durch
update="clientid"
Attribut. Sie könnenrendered
- Attribut zur Steuerung der Darstellung der Inhalte.Wenn weder funktioniert, dann liegt das problem woanders. Da die
h:commandLink
funktioniert, und die action-Methode derp:commandLink
auch hingekriegt, dann kann es nur bedeuten, dass Sie nicht der code ausgeführt wird Sie denken du läufst, während Sie versuchen, dieajax="false"
. Stellen Sie sicher, speichern, neu erstellen, bereitstellen, neu starten.PrimeFaces nicht unterstützt forward-basierten Navigationen verwenden, benötigen Sie umleiten statt weiterleiten, wenn Sie möchten, navigieren Sie innerhalb einer ajax-request oder set-ajax false als BalusC sagte.