1

単純な jsf2.0 アプリケーションで、次の例外が発生しています:javax.faces.application.ViewExpiredException ビューを復元できませんでした。

コンソールで次のエラーが表示されます: org.portletfaces.bridge.BridgeException: 最初に setPortletContext(PortletContext) を呼び出す必要があります

Primefaces jar を使用せずにアプリケーションを実行すると、正しく動作しました。しかし、Primefaces jar を追加した後、この例外が発生し始めました。

Tomcat 7.2 を使用しています。編集: アプリケーションには 3 ページしかなく、バッキング Bean はありません。最初のページのリンクが 2 番目のページを呼び出しています。しかし、リンクをクリックすると、このエラーが発生し、2 番目のページが表示されません。問題の原因を理解できません。助けてください。

4

1 に答える 1

2

アプリケーションには 3 ページしかなく、バッキング Bean はありません。最初のページのリンクが 2 番目のページを呼び出しています。しかし、リンクをクリックすると、このエラーが発生し、2 番目のページが表示されません。

UICommandリンク/ボタンでナビゲートしている場合に発生する可能性があります。POST リンク/ボタンでナビゲートするのではなく、GET リンク/ボタンだけでナビゲートする必要があります。

UICommandページ間のナビゲーションに誤って使用されているすべてのリンク/ボタンを、通常のUIOutcomeTargetリンク/ボタンに置​​き換えます。つまり、<h:commandButton><h:button>および<h:commandLink>およびで<p:commandLink>置き換えます。<h:link><p:commandButton><p:button>

つまり使わない

<h:form>
    <p:commandButton value="Go to next page" action="nextpage" />
</h:form>

しかし、代わりに使用

<p:button value="Go to next page" outcome="nextpage" />

以下も参照してください。

于 2012-08-23T11:56:05.990 に答える