Предположим, у меня есть JSF страницыКак передать переменную 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
.js файл
function myArrayList(countries) {
.....
}
Смотрите, когда пользователь нажимает на кнопку, то я хочу, чтобы вызвать функцию Jquery кого я передаю мой ArrayList. Можно ли передать текущую переменную JSF со значениями в javascript или jQuery?
Благодаря
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
, но это даст вам значение outputText.Not ArrayList (страны)? Я думаю, что я не могу сделать это таким образом, потому что мой ArrayList является кодом на стороне сервера, а jquery - клиентской стороной. Как я могу передать код сервера jQuery, просто вызвав функцию .... Я не знаю, прав я или нет? – Basit
Извините за поздний ответ. Спасибо :) Да, вы правы, я получаю все значения, которые находятся в ArrayList. Я редактирую свой вопрос. Но я также получаю ошибку после того, как я нажму на поле предупреждения. ** Значение настройки ошибки конверсии '[Афганистан, Албания, Зимбабве]' для 'нулевого конвертера'. **. Почему я получаю это? Еще один вопрос. Вне области, но связанный с ней ... ОК, я передал значение переменной Java в jQuery. Что, если я хочу, чтобы мой ArrayList стал нулевым в JQuery. Как я хочу, я использую что-то подобное в jQuery. 'countries = null', и эта вещь отражается в моем Java-коде. Является ли это возможным ? – Basit
изменить мой вопрос – Daniel