弹出窗口在操作之前打开

时间:2011-03-04 13:17:52

标签: jsf

<h:commandLink action="#{bean.action}" onclick="window.open('../note/note.faces', 'popupWindowName', 'dependent=yes, menubar=no, toolbar=no, height=450, width=700');">

在上面的代码中,单击链接时,在操作完成之前打开弹出窗口。

可以在动作完成后打开吗?

1 个答案:

答案 0 :(得分:2)

只需将要执行的逻辑移动到操作的目标页面即可。

首先删除onclick

<h:commandLink action="#{bean.action}">

然后按如下方式扩展您的Bean

private boolean executed;

public String action() {
    executed = true;
    return "targetpage";
}

public boolean isExecuted() {
    return executed;
}

最后根据#{bean.executed}

有条件地显示JS代码
<h:panelGroup rendered="#{bean.executed}">
    <script type="text/javascript">
        window.open('../note/note.faces', 'popupWindowName', 'dependent=yes, menubar=no, toolbar=no, height=450, width=700');
    </script>
</h:panelGroup>