Я пытаюсь реализовать страницу JSF, в которую пользователь должен вставить некоторые данные. В частности, при нажатии кнопки должно появиться диалоговое окно с запросом ввода пользователем. Основная проблема заключается в том, что выполнение компонента поддержки должно быть остановлено в ожидании ответа пользователя.
Примером игрушки является следующий.
Страница JSF:
<h:form id="label">
<p:dialog header="User input" widgetVar="dlg2"
visible="true" modal="false"
resizable="false" height="100" width="300">
<br />
<h:inputText value="#{userInputMB.userInput}"></h:inputText>
</p:dialog>
<p:commandButton action="#{userInputMB.pressButton}"></p:commandButton>
</h:form>
UserInputMB:
package jsfpackage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class UserInputMB {
private String userInput;
private boolean visualizeDialog = false;
public UserInputMB() {
}
public void pressButton() {
System.out.println("Executing the pressButton method..");
//here I need to visualize the dialog and wait for the user input
System.out.println(userInput);
}
public String getUserInput() {
return userInput;
}
public void setUserInput(String userInput) {
this.userInput = userInput;
}
public boolean isVisualizeDialog() {
return visualizeDialog;
}
public void setVisualizeDialog(boolean visualizeDialog) {
this.visualizeDialog = visualizeDialog;
}
}
В этом примере при нажатии кнопки , метод pressButton должен визуализировать диалоговое окно и ждать ввода пользователя, а затем продолжить выполнение.
Я также нашел такой же вопрос по stackoverflow: Синхронный вызов диалога из управляемого компонента
но моя ситуация совсем другая. Я вынужден реализовать такое поведение. Заранее спасибо!