У меня есть кнопка, которая вызывает метод из резервной копии Bean. Этот метод позволяет извлекать данные из синтаксического анализа html-кода. Пока этот метод работает, у меня есть диалог, показывающий индикатор выполнения и командную кнопку Cancel
. Мне нужно, когда пользователь нажимает кнопку отмены, метод, вызываемый кнопкой extract, останавливается.
Это мой html-код:
<p:commandButton
value="Start" style="width: 12%;height: 100%"
update=":confirmPurchase, :confirmPurchaseTest, :mainform" id="extractbutton"
ajax="true" widgetVar="ButtonExtract"
actionListener="#{mailMB.searchEmails()}"
icon="ui-icon-disk" styleClass="ui-priority-primary"
onstart="blockUIWidget1.show();" oncomplete=" blockUIWidget1.hide();" />
<p:dialog widgetVar="blockUIWidget1" header="Hitonclick" modal="true"
resizable="false" closable="false">
<table border="0" style="width: 500px">
<tbody >
<tr>
<td>
<p:graphicImage url="pictures/loading81.gif" width="200" height="200" alt="animated-loading-bar"/>
</td>
<td>
<h:outputLabel value="Extracting is in progress. Please wait..."/>
<div align="center">
<p:commandButton value="Cancel" title="Cancel" />
</div>
</td>
</tr>
<div align="right">
</div>
</tbody>
</table>
</p:dialog>
И вот мой метод searchEmails в моей сессииScoped Bean
public void searchEmails() throws Exception {
idCustomer = (String) session.getAttribute("idCustomer");
System.out.println(idCustomer + " this is it");
Customer customer = customerBusinessLocal.findById(idCustomer);
data = dataBusinessLocal.createData(new Date(), number, keyword, moteur, customer, State.REJECTED);
mails = mailBusinessLocal.createEmails(keyword, number, moteur, data);
System.out.println("Method was invoked");
}
Как я могу остановить запуск метода searchEmails с помощью кнопки отмены?