我有这个xhtml(primefaces)简单页面:
....
<div id="header">
<h:outputText value="#{userBean.name}"/>
</div>
<div id="content">
<p:tabView value="#{appTabbedView.tabs}" var="tab" dynamic="true"
cache="false">
<p:tab title="#{tab.title}">
<iframe frameborder="0" src="#{tab.page}" />
</p:tab>
</p:tabView>
</div>
.....
在iframe中,我加载了一个p:tab,它加载了一个名为“Profile.xhtml”的页面,允许编辑(更改)用户的名字。 如何刷新标题以显示新用户的名称(im在iframe中!)? 我找不到解决方案,我尝试了一切。
答案 0 :(得分:0)
这是我的解决方案。它有效!
....
<div id="header">
<h:form id="formHeader">
<p:commandLink id="hiddenLink" update="user" value="hiddenLink" style="display:none" />
<h:outputText value="#{userBean.name}" id="user"/>
</h:form>
</div>
<div id="content">
<p:tabView value="#{appTabbedView.tabs}" var="tab" dynamic="true" cache="false">
<p:tab title="#{tab.title}">
<iframe frameborder="0" src="#{tab.page}" />
</p:tab>
</p:tabView>
</div>
.....
的script.js:
function refreshHeader() {
window.parent.document.getElementById('formHeader:hiddenLink').click();
}
在Profile.xhtml中:
....
<p:commandButton id="accept" ... oncomplete="refreshHeader()" />
....