jsf如何刷新iframe的src地址

gaojiewyh 2009-10-10
在学习jsf的过程中,遇到这样的问题,就是iframe嵌套了一个带参数的jsf的地址
我在应用中设置了一个范围为session的后台bean用于存储这个带参数的地址,在主体页面中我采用如下的方式进行加载这个页面
<iframe src="#{controller.url}" frameborder="0" marginwidth="0"
marginheight="0" width="100%" height="500" id="urlIframe"/>

其中controller就是范围为session的后台bean,url对应的格式是XXXX.jsf?parame1=value1& parame2=value2;
在XXXX.jsf中包含一个模式对话框<rich:modalPanel>,在弹出的模式对话框中修改controller的 url地址的参数parame1和parame2,要求在关闭模式对话框后iframe的src地址能刷新,我采用js的方法不起作用。不知道如何去刷新 iframe的url地址
我在模式对话框的save操作中做了如下的操作
a4j:commandLink
actionListener="#{paramenterBean.save}" onclick=""
oncomplete=" refersh();if (#{facesContext.maximumSeverity==null}) #{rich:component('setParmeterPanel')}.hide();"
reRender="content">
<h:graphicImage value="/images/icons/save.gif" style="border:0" />
其中oncomplate中的refersh()方法就是js的刷新方法,方法如下:
function refersh(){

window.top.document.all.urlIframe.src = #{controller.url};

}
结果不起作用,我尝试把iframe放到outpannel中用reRender刷新,同样也不起作用
请高手解决!
terryzhou 2009-10-12
用JS刷新吧,下面是GOOGLE到的
1.对于iframe(iframeMain是iframe的ID)
document.all.iframeMain.src="http://www.bokee.com/";                     //显示iframe中最后一次刷新得到的内容
document.all.iframeMain.contentWindow.location="http://www.bokee.com/";  //重新刷新iframe的内容

2.对于frame:(window.parent.document代表frame元素所在的网页对象,fraRight是frame的ID)
window.parent.document.getElementById("fraRight").contentWindow.location = node.Target;   //显示frame中最后一次刷新得到的内容
window.parent.document.getElementById("fraRight").contentWindow.location = node.Target;   //重新刷新frame的内容
Gothic 2009-11-11
你的IFRAME的URL是BEAN的形式引用的.在ACTIONLISTENER后台方法中可以刷新BEAN中值.
Global site tag (gtag.js) - Google Analytics