XPage (「xBase」という名前) では、コンテナー (div) 内に 2 つの IFrame があります。
<xp:div id="divIFrames">
<iframe src="xTest.xsp?key=abc" id="iframe0" frameborder="0" width="100%" height="28px" scrolling="no"></iframe>
<iframe src="xTest.xsp?key=def" id="iframe1" frameborder="0" width="100%" height="28px" scrolling="no"></iframe>
<xp:label><xp:this.value><![CDATA[#{javascript:context.getUrl().toString();}]]></xp:this.value></xp:label>
</xp:div>
どちらの IFrame も、データベース内の別の XPage "xTest" を指しており、URL パラメータが異なります。簡単にするために、「xTest」には現在の URL のラベルのみが含まれています。
<xp:label value="#{javascript:context.getUrl().toString()}"></xp:label>
ただし、コンテナーの部分的な更新が機能せず、URL パラメーターが「xBase」に追加されます: $$ajaxid=view%3A_id1%3AdivIFrames
この問題は、URL パラメータを持つ iframe が複数ある場合にのみ発生します。たとえば、src に URL パラメーターがない複数の iframe や、URL パラメーターを持つ単一の iframe に対して適切に機能します。URL パラメータを持つ 2 つ以上の IFrame で機能しないのはなぜですか? ここで私が間違っていることを誰か知っていますか?
編集:
XPage に複数の IFrame がある場合、部分的な更新ではなく、sessionScope の変数の設定が機能しないことが判明しました。これは現在の質問に合わないため、新しい質問を作成しました。ご迷惑をおかけして申し訳ありません!