iFrame を使用して、アプリケーションで生成されたレポートを GUI に表示しています。レポートは iframe 内の GUI に正しく表示されます。ただし、特定のボタンをクリックすると、iframe が消えます (render=false)。しかし、私の完全な不信に、これは起こっていません。
iframe がページにレンダリングされると、ページ全体を更新しない限り、 render=false になりません。
iframe は の中に配置され<rich:layoutPanel>
ます。iframe を内部に保持しようと<h:panelGrid>
し<h:panelGroup>
ましたが、render プロパティを使用してレンダリングしましたが、iframe 自体は表示されませんでした。来たらrender属性<h:panelGrid>
をfalseにしてもiframeがrender=falseになっていませんでした。
iframe はページ全体の既存の DOM に対して別の DOM を作成することを理解していますが、特定のボタンのクリックに基づいて iframe をレンダリングする方法が必要です。
iFrame のコード スニペット:
<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>
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 をレンダリングするにはどうすればよいですか?