Comment utiliser RichFaces a4j:bouton de commande de pas à l'aide de soumettre
J'ai un a4j:commandButton
qui ressemble à ceci
<a4j:commandButton id="stopBtn" type="button" reRender="lastOp"
action="#{MyBacking.stop}" value="Stop" />
</a4j:commandButton>
Lorsque l'application est déployée, et le bouton cliqué, la méthode stop() n'est pas appelée. Tous les a4j:commandButton
exemples se réfèrent à des formes, mais ce bouton n'est pas en forme - c'est un bouton sur lequel l'utilisateur va utiliser pour forcer le serveur à exécuter une logique back-end. À l'heure actuelle, la méthode est
public void stopNode() {
logger.info("STOPPING");
setLastOp("Stopped.");
}
D'autres méthodes qui n'utilisent pas ce type de bouton de mise à jour de la lastOp champ, mais je ne vois pas de quoi que ce soit sur la console avec celui-ci. Suis-je le droit de chasser ce qu'un bouton? Dois-je mettre cela dans une h:form
tag?
La console de firebug dit:
this._form is null
dont je ne comprends pas.
Toute aide bien appréciée.
Vous devez vous connecter pour publier un commentaire.
UICommand
composants doit être placé à l'intérieur d'unUIForm
composant. Donc, votre suppositionest tout à fait correct 🙂 C'est parce qu'ils incendie d'un
POST
demande et le seul (normal) moyen pour cela est d'utiliser un HTML<form>
élément dontmethod
de définir l'attribut"post"
. Firebug dit aussi qu'un parent élément de formulaire est attendue, mais elle a décidé denull
et donc pas de prendre des mesures en place.Seulement "plain vanilla" liens comme
h:outputLink
et consorts n'a pas besoin d'un formulaire, simplement parce qu'ils ne se déclenche unGET
demande.Oui, l'envelopper dans un formulaire. Je suis sûr que BalusC va publier une explication détaillée, tandis que je tape ma réponse. (ouais, ça y est)
- Je vous demander pourquoi vous n'avez pas essayez-les, formulaire d'abord, avant de poster ici.
Regardez votre code:
Vous avez fini de les
<a4j:commandButton
avec/>
, pourquoi faut-il que des orphelins</a4j:commandButton>
?Si pour quelque raison vous ne voulez pas placer le bouton dans un formulaire, vous pouvez faire quelque chose comme ceci: