Envoyer paramètre supplémentaire à l'Ajax d'écouteur d'événement
Je vais avoir un ajax auditeur qui doit rediriger le point de vue page.
Cependant depuis que je suis en utilisant le type générique, en tant que modèle, je tiens à préciser en outre dans ma commune datatable contrôleur quel est le point de vue d'un deuxième paramètre.
Malheureusement, on peut choisir entre deux auditeur approches à l'aide de événement paramètre qui permet d'identifier l'objet et le second vous donne la possibilité d'envoyer des libre param mais ne possède pas le cas.
modèle:
<p:dataTable value="#{aObj.objList}" var="item" .... selectionMode="single">
<p:ajax event="rowSelect" listener="#{aObj.viewItem}" />
<p:ajax event="rowSelect" listener="#{aObj.viewItem('myItemView?_id=')}" />
...
</p:dataTable>
contrôleur:
public void viewItem(SelectEvent event) {
//...
}
public void viewItem(String viewUrl) {
//...
}
Je peux ajouter d'autres propriétés du bean, mais depuis qu'il est générique et de fournir des éléments de modèle, ne se sent pas le droit de polluer.
Est-il une solution de contournement?
f:attribute
et le lire dans l'écouteur d'événement.lire comment?
<p:ajax ...><f:attribute name="test" value="abc" /></p:ajax>
Je ne vois pas de trace de cet attribut dans le cas ni dans la requête ajax.Thread pertinent: forum.primefaces.org/viewtopic.php?t=37824 Cela a fonctionné pour moi avec p:inputtext+f:param+p:ajax.
OriginalL'auteur kidwon | 2016-08-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir un attribut dans la table de données et de lire dans votre sélectionnez l'auditeur. Pour ce faire, utilisez
<f:attribute name="..." value="..."/>
. À partir de la la documentation:Donc, en prenant l'attribut vous avez essayé de définir dans votre commentaire, vous devez l'utiliser comme:
XHTML:
Auditeur:
OriginalL'auteur Jasper de Vries
Quand vous voulez pour ajouter les paramètres de la demande, qui sont spécifiques à l'Ajax balise, vous pouvez le faire à la méthode onstart:
Habituellement, vous devez résoudre des paramètres à l'aide du modèle.
Ce travail est au moins de 5.0, vous devrez peut-être ajouter cfg.ext = {params: []}
OriginalL'auteur Tires