JSF & Primefaces - RemoteCommand nicht richtig funktioniert
Ich versuche zu implementieren, primefaces' RemoteCommand tag an meiner Bewerbung, aber irgendwie hat es nicht funktioniert, als die docs sagen.
, Was ich bin versucht zu implementieren: ich habe mehrere Seiten mit verschiedenen layouts, aber alle sind mit dem gleichen JSF-Template. (Im Grunde genommen der Inhalt des template-änderungen). Die verschiedenen Seiten sollten automatisch geladen werden wenn einer nach dem anderen, eins nach dem anderen, mit einem Abstand zwischen einander.
<p:remoteCommand name="remoteSwitchPage" actionListener="#{circuitBean.redirect()}" autoRun="false"/>
Dies ist meine JSF-code, der should
versorgen mich mit einer JavaScript-Methode aufgerufen remoteSwitchPage()
, aber es nicht! Es sollte auch not
laufen, weil ich gesagt habe autoRun="false"
, aber es läuft auf load! Nach dem Aufruf der Methode remoteSwitchPage()
es sollte machen anderen Seite via Java (Das funktioniert tatsächlich. Irgendwie JSF nicht die redirect-Methode beim verlassen der Klammern, das ist, warum ich habe Ihnen).
Also zusammengefasst:
- JavaScript nicht geben Sie mir mit der
remoteSwitchPage()
- Die remoteCommand läuft auf die Seite laden, die es
should not!
- JSF nicht finden, meine ManagedBean Methode
resize()
beim verlassen der Klammern
Tun Sie Jungs haben keine Ahnung, was mache ich hier falsch?
Ich bin mit primefaces 4.0
und JSF 2.1
Du musst angemeldet sein, um einen Kommentar abzugeben.
wenn Sie:
JSF, werden versuchen zu finden
getRedirect
, das ist, warum Sie verwenden sollten, diecircuitBean.redirect()
.BEARBEITEN: ich glaube, Sie sollten
action
stattactionListener
.Hier ist mein Beispielcode (getestet):
HTML:
Einem anderen Teil des HTML (am Ende der Seite):
Bean:
redirectToPage Methode:
So, wird so sein:
Klicken Sie auf > nennen remoteCommand Javascript > Anruf bean > redirect zu einer anderen Seite
Ich hatte einfach nicht die Vorlage Teil Sie sagte, wenn ich helfen kann bei etwas mehr Sag mir, hoffe, Sie zu beheben.
logoutAccount()
programmgesteuert, nach X Sekunden, ohne dass der Benutzer klicken Sie auf es? Edit: Sehen Sie, das ist, warum ich wollte, dass die Methode in reinem JavaScript (<script>logoutAccount()</script>)action="#{bean.method()}"
, wenn Sie können, fügen Sie Ihre Methode würde es helfen 🙂GELÖST
Gelang es wie gesagt in dem Kommentar von Simegos' Post.
Erstellte ich einen versteckten button, dass würde angeklickt werden, alle X Sekunden per JavaScript. Jede Seite wird gerendert, nachdem die Schaltfläche geklickt habe, muss die Umsetzung der folgenden code. Es wäre ideal, um den code in einem template, welches alle Seiten gerendert werden, umzusetzen.