У меня проблемы, потому что у меня есть метод на Java, мне нужна функция для получения 2 значений, String и ItemSelectEvent, потому что я использую одну и ту же функцию несколько раз.
Как я могу отправить событие из XHTML?
Вот как я пытался это сделать:
<p:chart type="donut" model="#{bean.donut}">
<p:ajax event="itemSelect" listener="#{bean.createModel("P", event)}"
update="grap"/>
</p:chart>
Метод bean:
public void createModel(String str, ItemSelectEvent event){
...
}
Но метод всегда получает "событие" как null, получает событие только тогда, когда я вызываю его так
<p:chart type="donut" model="#{bean.donut}">
<p:ajax event="itemSelect" listener="#{bean.createModel}"
update="grap"/>
</p:chart>
Фасоль
public void createModel(ItemSelectEvent event){
...
}
Но мне нужно отправить дополнительную строку, заранее спасибо
2 ответа
Вот как я решил проблему вместо
<p:chart type="donut" model="#{bean.donut}">
<p:ajax event="itemSelect" listener="#{bean.createModel("P", event)}"
update="grap"/>
</p:chart>
Я сделал
<p:chart type="donut" model="#{bean.donut}">
<p:ajax event="itemSelect" listener="#{bean.createModel}" onStart="bean.str('T')"
update="grap"/>
</p:chart>
И на bean-компоненте я сделал его атрибутом вместо параметра
-----------------Редактировать-------------------
Итак, у меня были проблемы со временем выполнения, и в итоге я вызвал такой метод:
<p:ajax ... listener="#{bean.method}"/>
И метод был объявлен так
method(itemSelectEvent e){
method2("P", e);
}
method2(String option, itemSelectEvent e){
...
}
И сделал по одному методу для каждой опции, которую хотел вызвать
Попробуйте поместить строковый атрибут в f: attribute внутри p: chart , а затем перехватите его в своем методе компонента поддержки:
event.getComponent().getAttributes.get("attributeName");
Похожие вопросы
Связанные вопросы
Новые вопросы
ajax
AJAX (асинхронный JavaScript и XML) — это метод создания интерактивных пользовательских интерфейсов веб-сайтов без традиционного обновления или перезагрузки веб-страницы. Он использует асинхронный обмен данными между клиентом и сервером, чтобы обновлять отображаемую информацию и беспрепятственно реагировать на взаимодействие с пользователем. Включите дополнительные теги для языков программирования, библиотек, фреймворков, веб-браузеров, протоколов и другой информации об окружающей среде.