在onclick =' window.open(...)'之后,Ajax-call未激活ONCE

时间:2014-09-04 10:00:56

标签: ajax primefaces window.open selectonemenu

选择p:selectOneMenu将使用屏幕名称和屏幕缩略图更新screen_prop面板。但是,在单击h:graphicImage后,screen_prop的ajax更新停止工作ONCE,触发window.open以在新选项卡中显示图像。

screenBean和pageBean都有SessionScoped。

关于发生了什么的任何想法? 谢谢。

<p:panelGrid id="panel">
    <h:form id="form">
        <p:selectOneMenu id="screen_selection" value="#{screenBean.selectedScreenId}">
            <f:selectItems 
                value="#{pageBean.screenIds}" var="scr"
                itemLabel="#{scr.name}" itemValue="#{scr.id}" />
            <p:ajax
                update=":screen_prop"
                listener="#{pageBean.handleSelection}" />
        </p:selectOneMenu>
    </h:form>
</panelGrid>

<panelGrid id="screen_prop">
    <h:outputText id="screen_name" value="#{screenBean.selectedScreenName}"/>

    <h:graphicImage
        value="#{screenBean.getThumbnail(screen.id)}"
        onclick="window.open('screenshot.xhtml?screen_id=#{screen.id}'); return false" />
</panelGrid>

1 个答案:

答案 0 :(得分:0)

事实证明,我必须将 com.sun.faces.numberOfLogicalViews 的参数值更改为更高的数字才能解决问题。我希望帮助那些有同样问题的人:)