版权所有:(xiaodaoxiaodao)蓝小刀    xiaodaoxiaodao@gmail.com

http://www.blogjava.net/xiaodaoxiaodao/articles/103442.html  

转载请注明来源/作者

 

JSF 中如何在弹出窗口中显示编辑页面

 

JSF 有个不太爽的地方,就是做一个Action时,把managedbean的值传到弹出窗口不容易实现,只能先弹出一个窗口,然后把指定target到此弹出窗口中~~,代码如下:

<t:dataTable>

    <t:column width="100%">

        <f:facet name="header">

            <h:outputText value="#{application_messages['news.sheader']}"/>

        </f:facet>

        <t:commandLink action="${outterNewsForm.viewDetail}" target="popup"onclick="doPopup(this);" immediate="true">

            <h:outputText value="#{outterNews.sheader}"/>

            <f:param name="newsId" value="#{outterNews.newsId}"/>

        </t:commandLink>

    </t:column>

</t:dataTable>

 

    function doPopup(source) {

        var h=(screen.height-600)/2;

         var w=(screen.width-700)/2;

        popup = window.open("", "popup",

                "height=600,width=700,left="+ w + ",top=" + h + ",toolbar=no,status=yes,menubar=no,scrollbars=yes,,resizable=yes");

        popup.focus();

}

 

这里的window.open只能默认打开一个空窗口,然后Action return的页面会在这个窗口中显示,不过因为是先打开一个空窗口,所以会有一点空白页面延迟,我尝试打开过一个不存在的页面,比如window.open(“not_defined.jsf” , "popup",

                "height=600,width=700,left="+ w + ",top=" + h + ",toolbar=no,status=yes,menubar=no,scrollbars=yes,,resizable=yes") 发现这个窗口无法用heightwidth进行大小控制,它的大小和IE上一次关闭时默认保存的窗口大小一致,不知道是什么原因~~~

 

 

版权所有:(xiaodaoxiaodao)蓝小刀    xiaodaoxiaodao@gmail.com