JSF & Primefaces - RemoteCommand ne fonctionne pas correctement
Je suis en train de mettre en œuvre primefaces' RemoteCommand balise à ma demande, mais de toute façon ça ne fonctionne pas comme les docs disent.
Ce que je suis en train de mettre en œuvre: j'ai plusieurs pages avec des mises en page différentes, mais toutes utilisent le même Template JSF. (En gros le contenu des modifications apportées au modèle). Les différentes pages doit se charger automatiquement si l'une après l'autre, un par un, avec un intervalle entre l'un de l'autre.
<p:remoteCommand name="remoteSwitchPage" actionListener="#{circuitBean.redirect()}" autoRun="false"/>
C'est mon code JSF, qui should
de me fournir une méthode JavaScript appelé remoteSwitchPage()
, mais il ne pas! Il devrait également not
exécuter, parce que je l'ai dit autoRun="false"
, mais il s'exécute sur charge de! Après l'appel de la méthode remoteSwitchPage()
elle devrait rendre une autre page via Java (celui-ci fonctionne réellement. En quelque sorte JSF ne pas trouver la méthode de redirection lors de la sortie du parenthèses, c'est pourquoi je les ai mis).
Ainsi résumées:
- JavaScript ne pas me fournir de la
remoteSwitchPage()
- La remoteCommand s'exécute sur chargement de la page, qu'il
should not!
- JSF ne trouverez pas mon ManagedBean méthode
resize()
, au moment de quitter les crochets
Avez-vous les gars ont aucune idée de ce que je fais de mal ici?
Je suis en utilisant primefaces 4.0
et JSF 2.1
Vous devez vous connecter pour publier un commentaire.
si vous utilisez:
JSF va essayer de trouver
getRedirect
, qui est pourquoi vous devez utiliser lacircuitBean.redirect()
.MODIFIER: je pense que vous devriez utiliser
action
au lieu deactionListener
.Voici mon code d'exemple (testé):
HTML:
Une autre partie de HTML (fin de la page):
Bean:
redirectToPage méthode:
Sera comme ceci:
Cliquez sur > appel remoteCommand Javascript > appel bean > rediriger vers une autre page
Je n'ai tout simplement pas obtenir le modèle de la partie que vous avez dit, si je peux t'aider en quelque chose de plus vient de me dire, j'espère que vous le réparer.
logoutAccount()
par programme, au bout de X secondes, sans avoir besoin de l'utilisateur à cliquer sur elle? Edit: le Voir, c'est pourquoi j'ai voulu utiliser cette méthode dans la plaine de JavaScript (<script>logoutAccount()</script>)action="#{bean.method()}"
, si vous pouvez coller votre méthode, de l'aide 🙂RÉSOLU
Géré comme dit dans le commentaire de Simegos Post.
J'ai créé un bouton caché qui serait cliqué sur toutes les X secondes par JavaScript. Chaque page qui devient rendus après le bouton ai cliqué, les besoins pour mettre en œuvre le code suivant. L'idéal serait de mettre le code dans un modèle qui tous rendus pages vont mettre en œuvre.