版权所有:(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")
,发现这个窗口无法用height、width进行大小控制,它的大小和IE上一次关闭时默认保存的窗口大小一致,不知道是什么原因~~~
版权所有:(xiaodaoxiaodao)蓝小刀
xiaodaoxiaodao@gmail.com