ページに次のようなiFrameがあります。
<h:panelGroup id="gameDiv">
<f:verbatim>
<iframe src="/levelup/resources/#{cc.attrs.src_dir}/#{cc.attrs.src_html}" width="700px" height="800px" frameborder="0" id="gameFrame">
</iframe>
</f:verbatim>
</h:panelGroup>
基本的に、「src」変数はJSF 2.0 ELを使用してバインドされ、バッキングBeanからその値を取得します。
次に、フォームを使用してこの値を更新し、ページ全体を更新します。レンダリングされたHTMLで、divの「src」が更新されていることがわかります。ただし、HTMLページには古いページが引き続き表示されます。
問題は、srcが異なっていても同じ表示の2つのiframeに似ていると思い、前述の解決策を試しました(タイムスタンプを使用してsrcを一意にするか、それぞれで「about:blank」にリセットします)ページの読み込み)。しかし、それらのどれも機能しませんでした。
詳細については、バッキングBeanを更新するフォームは次のとおりです。
<h:form id="gameSelectionForm">
<h:selectOneMenu id="gameSelection">
<f:selectItems value="#{gameBean.gameIds}" />
</h:selectOneMenu>
<p:commandButton id="gameSelector" action="#{gameBean.changeGame}" update="gameScoreFieldset, gameDiv" />
</h:form>
どんなヒントでも大いに役立ちます。
よろしくお願いします、
Sébastien