Я могу открыть диалоговое окно программно в таких простых выражениях, как этот пост:
Primefaces открывает закрываемый диалог программно
Я тоже могу открыть другой диалог в своем диалоге! но когда я захочу закрыть его этим кодом, он не закроется!
RequestContext.getCurrentInstance().closeDialog(null);
и я не могу ничего нажать
это происходит только тогда, когда я открываю 2 диалога друг в друге
index.xhtml
<p:commandButton value="Open First Dialog" process="@form" update="@form" actionListener="#{mybean.openFirstDialog}"/>
mybean.java
@Component
@Scope("session")
public class MyBean{
public void openFirstDialog() {
RequestContext requestContext = RequestContext.getCurrentInstance();
Map<String, Object> options = new HashMap<>();
options.put("modal", true);
options.put("width", "850");
options.put("contentWidth", "520");
options.put("closable", false);
options.put("resizable", false);
requestContext.openDialog("/page/firstdialog", options, null);
}
}
firstdialog.xhtml
<p:commandButton value="Open Second Dialog" process="@form" update="@form" actionListener="#{firstDialogBean.openSecondDialog}"/>
FirstDialogBean.java
@Component
@Scope("view")
public class FirstDialogBean{
public void openSecondDialog() {
RequestContext requestContext = RequestContext.getCurrentInstance();
Map<String, Object> options = new HashMap<>();
options.put("modal", true);
options.put("width", "850");
options.put("contentWidth", "520");
options.put("closable", false);
options.put("resizable", false);
requestContext.openDialog("/page/seconddialog", options, null);
}
}
seconddialog.xhtml
<p:commandButton value="Close Second Dialog" process="@form" update="@form" actionListener="#{secondDialogBean.close}"/>
secondDialogBean.java
@Component
@Scope("view")
public class SecondDialogBean{
public void close() {
RequestContext.getCurrentInstance().closeDialog(null);
}
}
на самом деле я не передаю NULL, пока закрываю диалог! Я делаю вещи и передаю объект! но я не могу написать полный код здесь
затем, когда я закрываю второй диалог, я могу получить этот Объект в первом диалоге и снова сделать кое-что
Я надеюсь, что смогу сказать, что я имею в виду
и после нажатия «Закрыть второй диалог» он застрял!
Я тоже это пробовал, но бесполезно:
RequestContext.getCurrentInstance().closeDialog("/page/seconddialog");