使用h:commandButton或p:commandButton打开一个新窗口/选项卡?

时间:2015-11-18 07:21:57

标签: java primefaces

要求是在按钮点击时打开一个新窗口/选项卡。新窗口应重定向到新URL或说新页面。我试过以下代码:

<h:commandButton value="Login" onclick="this.form.target='_blank'"/> 

但这会再次打开当前页面。如何在新窗口/标签中设置新页面或网址?

1 个答案:

答案 0 :(得分:0)

试试这个:

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时处理主页面的对话框返回更新/删除/插入