2

PickListコンポーネントのパフォーマンスのバグのため、最近PrimeFaces3.4から3.4.2にアップグレードしました。このアップグレードの後、ウィザードコンポーネントは機能しなくなりました。

ユーザーガイド3.4で定義されているようにwidgetVar、ナビゲーションにカスタムボタンを使用しています。next()prev()

<p:wizard widgetVar="wiz" flowListener="#{wizard.onFlowProcess}"
            showStepStatus="false" showNavBar="false">

<p:commandButton value="Weiter" onclick="wiz.next()" update="dialogRespHeader">

これはバージョン3.4で機能していました。ボタンをクリックして更新すると、waitprogressアニメーションが表示され、どれだけ待っても何も起こりません。サーバーへのハングリクエストはありません。リクエストはボタンをクリックした直後に送信され、応答はその瞬間の後にも送信されます。正しく見えます:

<partial-response>
<changes>
<update id="mainForm:j_id1831660928_7d431f69"> [some content]
<extension ln="primefaces" type="args">{"currentStep":"internUserTab"}</extension>
<extension ln="primefaces" type="args">{"currentStep":"internUserTab"}</extension>
</changes>
</partial-response>

したがって、問題は次のとおりです。このバージョン間で何が変わったのでしょうか。これはバグですか、それともAPIの変更ですか(このコンポーネントのAPIの変更に関する情報が見つかりません)。

FireBugコンソールを更新するとエラーが表示されます:

SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data

jQuery 1.8.2でエラーになる可能性はありますか?これは、これらのバージョン間の最大かつ最も危険な変更です。

4

1 に答える 1

0

これは、ブラウザによるリソースのキャッシュに関するPrimeFacesのバグです。

jQuery のバージョンは変更されましたが、リソースの名前は変更されていません。したがって、キャッシュをクリアするまで、ブラウザは古いバージョンの jQuery をキャッシュから読み込みます。

3.4 から 3.5 への移行で複数回複製されました。さまざまなコンポーネントですべての場合に発生しますが、それを取り除く唯一の方法は、すべてのユーザーにブラウザのキャッシュを消去するように指示する情報を送信することです.

于 2014-02-21T10:58:45.823 に答える