試試這個:
XHTML:
<p:commandButton actionListener="#{backing.popupDlg(row.id)}" immediate="true" value="Dialog">
<p:ajax event="dialogReturn" update="@form" listener="#{backing.refreshPage}" />
</p:commandButton>
基材:
public void popupDlg(Integer id) {
//USER CODE
// DO something with ID
Map<String, Object> options = new HashMap<String, Object>();
options.put("modal", true);
options.put("closable", false);
options.put("draggable", true);
options.put("resizable", true);
options.put("contentHeight", 620);
RequestContext.getCurrentInstance().openDialog("DlgPage", options, null);
}
,而它在對話框
打開
DlgPage.xhtml
這也辦理母版頁對話框返回更新用/插入/缺失
你的意思是我們會通過actionLis調用backing bean的editDesignationDlg(Integer dsgnId)特納= 「#{backing.popupDlg(row.id)}」。 popupDlg(row.id)只是一個錯字,而應該是editDesignationDlg或它的不同。 – Harleen
編輯問題,對於我來說,我在p:datatable中使用了這個,所以我將行標識傳遞給了後備方法。如果你有標準的彈出窗口,你不需要任何ID。你可以使用它的基本思想。因爲它非常清晰 – Sarz
我的要求是在按鈕提交時打開一個新的選項卡/窗口,而不是在同一頁面上的對話框/彈出窗口。我無法從你分享的內容中獲得邏輯。 – Harleen