Я использую JSF 2.2/PrimeFaces 5.1. У меня есть кнопка команды, которая выполняет поиск и добавляет сообщение лиц.p: commandButton метод действия, вызываемый несколько раз одним щелчком мыши
XHTML:
<p:commandButton id="search" value="Search"
update="emptyId,empAtendanceTable,msgDialog"
action="#{attendanceBean.buttonAction(actionEvent)}" />
Bean:
public void buttonAction(ActionEvent actionEvent) {
if (fromDate.after(todate)) {
addMessage("To date cannot be after from date");
}
}
Однако, когда я нажимаю кнопку, метод действия вызывается несколько раз и приводит к тому, сообщение добавляется несколько раз.
Как это вызвано и как я могу решить эту проблему? Метод действия должен быть вызван только один раз.
http://stackoverflow.com/help/mcve было бы полезно. Я предполагаю, что в дереве компонентов есть что-то подозрительное. Например. используя 'binding' на слишком широком компоненте и/или программно вместо декларативно составляющих компонентов. – BalusC
Спасибо за ссылку. В следующий раз я перейду по ссылке для вопросов. В моем случае в p: commandbutton, если я даю событие действия в bean для проверки, он срабатывает только модально с сообщением, но таблица данных не отображается. В противном случае if Я перехожу к нормальной функции String в событии кнопки, тогда она отображает таблицу данных, но не модальное сообщение. Как решить эту проблему. Для этого многократного сообщения времени сообщение было получено в getter thats problem.I удалило его однократное сообщение. – ShivaShankar
Э? Диалог здесь не проблема. Проблема заключается в том, что метод действия, вызываемый несколько раз, является проблемой. Вам нужно исправить эту проблему при вызове метода действия несколько раз. Тогда (побочные) эффекты этой проблемы исчезнут сами по себе. Опять же, пожалуйста, предоставьте MCVE. – BalusC