問題タブ [flash-scope]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jsf - com.sun.faces.context.flash.ELFlash.doLastPhaseActions での java.lang.NullPointerException
セキュリティのためにSingleSignOnを使用するglassfish-4には約3つのアプリがあり、すべてのアプリのすべてのユーザーがログインしてユーザーがアクセスできるアプリにリダイレクトされる「アクセス制御」用の4番目のアプリがあります。5番目のアプリを追加する必要がある今まで、すべてが完全に機能していました。そして、5 番目のアプリは他のアプリとの連携を拒否しました。すべてのアプリの最初に使用したコード スニペットを次に示します。
これは、最初の 3 つのアプリすべてで機能していましたが、最後のアプリでは機能しませんでした。標準のJava EE 6とprimefaces 5.0を使用しています。
ここに私が得るエラーがあります:
これにより本番環境への長い移行が遅れているため、ご提案をいただければ幸いです。ありがとう
internet-explorer - JSF、Flash スコープからのパラメーターの取得が Internet Explorer で機能しない
私たちのプロジェクトは進行中です
JSF 2.2 (モジョラ 2.2.0)
サーブレット 3.0: Jboss EAP 6.1
フェイスレット (XHTML)
パラメータを Flash に入れると、IE ブラウザの別のページから取得できません。さまざまなマシンで IE 11 を試しました。不思議なことに、Chrome、Opera では問題ありません。
パラメータを Flash に入れるときのコード:
そして、パラメータを取得中のコード。フラッシュから:
Flash から「インスタンス」パラメータを取得する際に、インスタンスが null です。デバッグ モードでは、Flash.flashInnerMap が {1={instance=2 - ORNEK SPOR SALONU}} であることがわかります。
Flash からの戻りパラメータは IE (ほとんどのバージョン) では null ですが、他のブラウザでは問題ありません。
誰かアイデアがありますか?
jsf - リダイレクト後に Flash データを保持できますか?
JSF 2.1.29 の使用
list.xhtml内
listBean (viewscoped) では、
pretty-config.xml
ビュービーン(ビュースコープ)では、
閲覧ページでは、
firstName はリダイレクト後に表示されます。(f5 を押して) ビュー ページを更新すると、文字列 firstName が null になり、viewBean の fillPage に出力される ID 文字列が null になります。私が必要とするのは更新時です。id が null であってはならない firstName を再取得する必要があります。 とにかく、このリンクを通過して、要求でフラッシュデータを永続化しましたか?
以下を試しましたが、成功しませんでした:
1.
2.
3.
リフレッシュ デバッグでは、id は監視のフラッシュ スコープ マップにFacesContext.getCurrentInstance().getExternalContext().getFlash()
ありますが、同じものは監視では表示されませんFacesContext.getCurrentInstance().getExternalContext().getFlash().get("petId");
(図 2 を参照)。
更新 1 (回答):
Xtreme Biker の提案に従って、ビュー ページに preRenderView を追加しました。
<f:event type="preRenderView" listener="#{ownerAndPetViewBean.fillPage}"/>
.
pretty-config.xml から、削除またはコメント
<action onPostback="false">#{ownerAndPetViewBean.fillPage}</action>
fillPage メソッドに not postback チェックを配置し、マネージド Bean に flash.keep を追加しました。
上記のメソッドは、(preRenderview の代わりに使用された場合) pretty-faces アクション タグでは機能せず、値のないページが取得されます。
jsf - 最新の Mojarra バージョンの Flash-Scope?
mojarra の flash-scope に関する問題に関する多くのトピックを読みましたが、今まで、これらの煩わしい問題を完全に取り除くことができませんでした
「フラッシュの送信 Cookie を設定しようとした時点で、応答はすでにコミットされていました。フラッシュに保存された値は、次の要求では使用できません。」
多くの頭痛の種となるメッセージ。
カスタム Cookie やリクエスト パラメータなどの回避策について読みましたが、そのような基本的なことが長期間にわたって受け入れられたとおりに機能しない場合、気分がよくありません。
現在の環境:
- mojarra 2.2.13
- omnifaces 1.12.1
- tomcat 8.0.32
これが最新のモハラでまだ発生していることを誰かが確認できますか? 以前のmojarraバージョンでもこれらの問題がありました-機能する場合と機能しない場合があります。とにかく、メッセージはログイン後に一度だけ表示されますが、作成された Cookie「csfcfc」は削除されず、すべての要求で警告が発生するようになりました。
myfaces への切り替えは、現在、他の問題のためオプションではありません。
私の単純なケース、特に何も特別なことはありませんか?:
mastertemplate.xhtml:
login.xhtml
jsf-2.2 - ページでのajaxリクエストの後にJSFフラッシュスコープパラメータを保持する方法は?
ページのリロードのためにフラッシュ変数を保持することができます
しかし、ページへのポストバックにより、フラッシュ変数が失われます。preRenderView イベント リスナーを配置して、ポストバックをチェックしてみました。
しかし、今回はこのエラーが発生し、フラッシュ変数が失われています
フラッシュ用の発信 Cookie を設定しようとした時点で、応答はすでにコミットされていました。フラッシュに保存された値は、次のリクエストでは使用できません。
実際に私が達成しようとしているのは、Post-Redirect-Get パターンを使用し、ページの手動リロード (ユーザーが F5 を押す) でページ データを保持することです。私は Mojorra 2.2.8 を使用しています。
jsf - #{flash.keep.foo} によるフラッシュの保持は機能せず、代わりに #{flash.foo} が機能します
Primefaces、JSF 2.2、Spring、および Hibernate で実行されているアプリがあります。JSF の Flash Scope を使用して、リダイレクト付きのパラメーターを送信します。
書き込み#{flash.keep.loginCliente}
をregistroCasa.xhtml
行ってページをリロードすると、値は null になりますが、書き込む#{flash.loginClient}
と値は保持されます。なんで?
Mojarra 2.2.12 を使用しています。
jsf - リダイレクト後に Flash スコープの警告と Flash が削除されない
JSF と Primefaces を使用して、View1 から View2 へのリダイレクト中にオブジェクトを渡そうとしています。
そのために JSF Flash スコープを使用しています。オブジェクトは 2 番目のビューに渡されますが、まだ次の警告が表示されます。
com.sun.faces.context.flash.ELFlash setCookie
警告: JSF1095: フラッシュの送信 Cookie を設定しようとした時点で、応答は既にコミットされていました。フラッシュに保存された値は、次のリクエストでは使用できません。
また、リダイレクトが数回行われた後でも、フラッシュ Cookie は削除されません。
View1.xhtml
MyComponent.xhtml
MyComponent.java
View2Controller.java
解決済み!!!!!!!!
これが最善の方法かどうかはわかりませんが、私にとってはうまくいきました..
問題は http バッファ サイズと jsf ライフサイクルにあります。応答が書き込まれた後に Cookie が書き込まれ、両方を含めるにはバッファが小さすぎます。
jsf - キーがBeanにあるがFaceletsページのELにない場合、flash.keep()がキーを削除するのはなぜですか?
だから私はこの非常に小さなJSFの例を持っています:
foo は以下のように実装されます。
そして最終的にhello.xhtml
は次のとおりです。
上記の例では、[送信] をクリックすると、hello.xhtml にリダイレクトされ、"Success!!" というメッセージが表示されます。テキストは問題ありません。ページを更新すると、以下に示すように keep メソッドを呼び出しているため、メッセージが表示されます。
次に、別の例に進みます。
index.xhtml と ReqScopedBackingBean は同じですが、今回の hello.xhtml は次のとおりです。
そしてOtherBean.java
、次のとおりです。
動作が最初の例と同じになることを期待しています。ただし、hello.xhtml を使用している場合、成功メッセージは表示されません。ただし、次の行をコメントアウトすると:
メッセージが表示されます (ただし、hello.xhtml を更新しても、最初の例のように成功メッセージは再表示されません)。
私の質問は、ここでの違いは何ですか? どうですか
とは異なる
?