2

フレームワーク JSF 2.1、Seam 2.3、Primefaces 3.4.1、Omnifaces 1.3 を使用して ViewexpiredException を正しく処理しようとすると、ひどい問題が発生します。

ここで、私が primefaces フォーラムに投稿した問題の完全な説明を見ることができます: http://forum.primefaces.org/viewtopic.php?f=3&t=28215

この投稿では、omnifaces を試すように言われました (現在これを試みています)。だから私は自分のプロジェクトでそれを設定します(正しいかどうかはわかりません)。

これをfaces-config.xmlに追加します:

<application>
<...>
<resource-handler>org.omnifaces.resourcehandler.CombinedResourceHandler</resource-handler> 
<...>
</application>


<factory>
<render-kit-factory>org.omnifaces.renderkit.Html5RenderKitFactory</render-kit-factory>
<exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory>
</factory>

すべてが機能しているように見えます.FullAjaxExceptionHandlerFactoryはexpcetionを処理し、ログインページにリダイレクトしようとしているようです(primefacesフォーラムの私の最後の投稿を参照).間違いとか。

インターネットで見つけたほとんどすべてのソリューションを試してみましたが、何もうまくいかないようです. us/img831/7459/pic4w.png

前もって感謝します

4

1 に答える 1

0

返信ありがとうございます。私はついにそれを解決します。

理由はよくわかりませんが、pages.xmlファイルのタグ「pages」にあるこの属性login-view-id = "/ login.xhtml"は、このコードの「プロセス」を回避していました。

<exception class="org.jboss.seam.security.NotLoggedInException">
  <redirect view-id="/login.xhtml">
     <message>Debe loguearse para continuar</message>
  </redirect>

login-view-id属性を削除した後、NotLoggedInExceptionの処理が開始されましたが、ログインしても同じ問題が発生したため、追加して最終的に問題を解決したため、完全なタグは次のように終了します。

<exception class="org.jboss.seam.security.NotLoggedInException">
   <end-conversation/>
  <redirect view-id="/login.xhtml">
     <message>Debe loguearse para continuar</message>
  </redirect>

どうもありがとうございます!

于 2013-02-01T15:07:37.897 に答える