Supposons que j'ai la page JSFComment passer la variable JSF à jQuery
<h:body>
<h:form id="formID" prependId="false">
<h:outputText id="randomID" value="#{randomNumber.random}"/>
<h:commandButton id="buttonID"
value="Random"
onclick="myArrayList(countries)" /> //just example
</h:form>
</h:body>
@ViewScoped
public class RandomNumber {
private int totalCountries;
private String data = "Afghanistan, Albania, Zimbabwe";
private List<String> countries;
public RandomNumber() {
countries = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(data, ",");
while(st.hasMoreTokens()) {
countries.add(st.nextToken().trim());
}
totalCountries = countries.size();
} //end of constructor
} //end of class RandomNumber
fichier .js
function myArrayList(countries) {
.....
}
Voir lorsque l'utilisateur clique sur le bouton puis je veux appeler la fonction Jquery que je passe mon ArrayList. Est-il possible de transmettre votre variable JSF actuelle avec des valeurs à javascript ou à jQuery?
Merci
EDIT ** _ __ __ __ __ __ __ __ __ __ __ __ __ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ - *
<h:body>
<h:form id="formID" prependId="false">
<h:outputText id="countries" value="#{countries.countries}" style="display:none"/>
<h:inputHidden id="hiddenCountries" value="#{countries.countries}" />
<h:commandButton id="buttonID"
value="Random"
onclick="myArrayList()"/>
</h:form>
</h:body>
@ViewScoped
public class Countries {
private int totalCountries;
private String data = "Afghanistan, Albania, Zimbabwe";
private List<String> countries;
/** Creates a new instance of Countries */
public Countries() {
countries = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(data, ",");
while(st.hasMoreTokens()) {
countries.add(st.nextToken().trim());
}
totalCountries = countries.size();
} //end of constructor
public List<String> getCountries() {
return countries;
}
public void setCountries(List<String> countries) {
this.countries = countries;
}
} //end of class Countries
function myArrayList() {
alert(jQuery('#countries').html());
alert(jQuery('#hiddenCountries').val()) //when using h:inputHidden
} //end of function myArrayList
mais cela vous donnera la valeur de l'outputText.Not ArrayList (pays)? Je pense que je ne peux pas le faire de cette façon parce que mon ArrayList est un code côté serveur et jquery est un côté client. Comment puis-je passer mon code de serveur à jquery en appelant simplement la fonction .... Je ne sais pas suis-je raison ou non? – Basit
Désolé pour la réponse tardive. Merci :) Oui, vous avez raison, je reçois toutes les valeurs qui sont dans la liste de tableaux. Je modifie ma question. Mais je reçois aussi l'erreur après que je clique sur la boîte d'alerte. ** Valeur de réglage d'erreur de conversion '[Afghanistan, Albanie, Zimbabwe]' pour 'Convertisseur nul'. **. Pourquoi je reçois ça? Aussi une question de plus. Hors de portée mais lié à cela ... OK j'ai passé ma valeur de variable Java à jQuery. Que faire si je veux que mon ArrayList devienne null dans le JQuery. Comme je veux que j'utilise quelque chose comme ça dans le jQuery. 'countries = null' et cette chose se reflète dans mon code Java. C'est possible ? – Basit
Editer ma question – Daniel