2011-06-25 23 views
0

ナビゲーションに問題があります。私は2つのデータテーブルを持ち、1つは通常のfaceletsページ内にあり、もう1つはダイアログ内にあります。私も成功せず、「この@」=プロセスを追加しようとしたJSF2.0 PrimeFacesナビゲーションの問題

<p:commandButton 
    value="Show car" 
    ajax="false" 
    action="showCar?faces-redirect=true"> 
    <f:setPropertyActionListener value="#{car}" target="#{carBean.car}" /> 
</p:commandButton> 

: はどちらも同じコードを持っています。

問題は、ナビゲーションがfacelets-page内のcommandButtonのために機能しますが、ダイアログ内のボタンでは機能しません。クリック後に現在のページが再読み込みされているようです。 これをaに置き換えても役に立ちません。

これまで誰かがこのような経験をしていますか?これはダイアログの問題かもしれませんか?

おかげで、よろしく、 ロバート

+0

Firebugは、何が起こっているかを見つけるのに本当に便利です。 ajaxレスポンスでvalidationFailed = trueを探します。その場合、アクションリスナーが呼び出されていないことがわかります。私はあなたと同じことをやろうとしていて、あきらめて、フォームをダイアログから別のページに移動しました。誰かがp:dialogの中でフォームの実行可能な使用パターンを示せば、私はそれを再訪するかもしれません。 –

答えて

0

は、私の以前の回答を忘れて、私はあなたの質問をよく読んでいませんでした。何が起きているかは、<f:setPropertyActionListener>コールの失敗です。それが(黙って)失敗すると、JSFが自動的に同じページに戻るようにエラーが発生します。あなたは、フレームワークによって提供され得る任意の有用なエラーfacesMessagesのを見ることができるように

は、どこかのページにこれを追加します。

<p:messages 
    id="messagesForDebugging" 
    showDetail="true" 
    autoUpdate="true" /> 

autoUpdateは、それがグローバルAjaxリクエストによって生成されたメッセージを点滅原因となります。

carBean.setCar()メソッドにloggingステートメントを設定して、値を正常に設定しているかどうかを確認することもできます。それが失敗した場合は、Car値のカスタムコンバータを提供する必要がありますか?

+0

答えてくれてありがとうJim、しかしajax = "true"はデフォルトの動作です。これはデフォルトのJSFナビゲーションが起こらないようにするため、私のためには動作しません。しかし、本当にありがとうございます! –

関連する問題