【发布时间】:2012-08-13 16:56:30
【问题描述】:
我们使用 iFrame 在 GUI 上显示应用程序中生成的报告。 报告在 iframe 内的 GUI 上正确显示。 但是,在某些按钮上单击我希望 iframe 消失(render=false)。但令我难以置信的是,这并没有发生。
一旦 iframe 在页面上呈现,除非我刷新整个页面,否则它不会呈现为 =false。
iframe 被放置在<rich:layoutPanel> 中。
我尝试将 iframe 保留在 <h:panelGrid> 和 <h:panelGroup> 中,并使用那里的渲染属性对其进行渲染,但是 iframe 本身并没有出现。
当它出现时,即使 <h:panelGrid> 的渲染属性设置为 false,iframe 也不会被渲染=false。
我知道 iframe 会针对整个页面的现有 DOM 创建一个单独的 DOM,但应该有一些方法可以根据某些按钮单击来呈现 iframe。
iFrame 的代码 sn-p:
<h:panelGroup id="checkIFrame" rendered="#{Bean.renderPanelGroup}">
<iframe frameborder="0" align="left"
src="${pageContext['request'].contextPath}/moduleName/PageName.jsf"
name="PdfPnl" id="PdfPnl" scrolling="auto" width="750"
height="500" marginheight="5" marginwidth="10">
</iframe>
</h:panelGroup>
点击哪个按钮的代码 sn-p,iframe 应该被渲染=false
<a4j:outputPanel id="outButton">
<a4j:commandButton value="Send" immediate="true" status="Hello"
rendered="#{Bean.renderTrueFalse}" reRender="outButton,checkIFrame"
id="Again" process="FormName" actionListener="#{bean.affirmative}"
/>
</a4j:outputPanel>
如何根据某些按钮点击呈现 iframe=false/true?
【问题讨论】:
标签: jsf iframe jsf-2 richfaces rendering