ダイアログフレームワークを使用して作成された確認ダイアログがあります。ダイアログはコマンドリンクによって開かれ、tgで選択された値がリターンリスナーに返されます。これは私のコマンドリンクです。
<af:commandLink id="btnSalva" shortDesc="Salva"
binding="#{segnaPrzzDep.btnSalva}"
partialSubmit="true" immediate="true"
windowHeight="250"
windowWidth="350"
useWindow="true"
action="#{segnaPrzzDep.aclSalvaSegnaPrezzoDep}"
returnListener="#{segnaPrzzDep.rtlSalvaSegnaPrezzoDep}"
styleClass="btnSalva"/>
リターンリスナーでナビゲーションルールを設定しようとしましたが、何も起こりません。私はこのようにします(リターンハンドラーはこれだけを行います):
FacesContext fc = FacesContext.getCurrentInstance();
NavigationHandler nh = fc.getApplication().getNavigationHandler();
nh.handleNavigation(fc, "", "archivio");
厄介なのは、ダイアログフレームワークを使用していても、ウィンドウを開かなくてもすべて問題がないということです。次のようにコマンドリンクを設定します。
<af:commandLink id="btnSalva" shortDesc="Salva"
binding="#{segnaPrzzDep.btnSalva}"
partialSubmit="true" immediate="true"
action="#{segnaPrzzDep.aclSalvaSegnaPrezzoDep}"
returnListener="#{segnaPrzzDep.rtlSalvaSegnaPrezzoDep}"
styleClass="btnSalva"/>
すべてが正しく機能します。jDev10.3.1.4と同じバージョンのADFを使用しています。