問題タブ [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.
java - NavigationHandler.handleNavigation() はフラッシュをクリアしますか?
JSF2.0 Mojarra 2.0.2 を使用しています。
ユーザーをログアウトし、ログアウト メッセージをフラッシュに入れ、ログイン ページ (フラッシュを出力する div がある) に転送するメソッドがあります。しかし、なんらかの理由で、navigationHandlers の handleNavigation メソッドを使用すると、フラッシュが表示されません。ログインしていない場合にユーザーをログインページに転送する同様の方法があります。
h:link を介してナビゲーションを処理し、logout メソッドを直接呼び出すだけでは通常どおりフラッシュが表示されますが、handleNavigation() メソッドを使用すると、何らかの理由でフラッシュがクリアされます。
問題のコードは次のとおりです。
このようにナビゲートするときにフラッシュを保持できる方法はありますか?
ありがとう。
編集: この問題は、xhtml ページが異なるディレクトリにある場合にリダイレクト中にフラッシュが保持されないという別の問題に関連していると思います: http://java.net/jira/browse/JAVASERVERFACES-1635
jsf - フラッシュからの JSF メッセージの削除
何かを行うページがあり、ユーザーがボタンをクリックすると、ユーザーは別のページにリダイレクトされ、メッセージが表示されます。これが私のコードです:
「リリース」ページにメッセージを表示する ap:grow コンポーネントを使用しています。ここまでは順調ですね。
しかし、p:growl を持つ後続のページ (または、別のページに移動して戻った場合) でメッセージが何度も表示され、それを殺すことはできません。
私は次のようなものを試しました:
p:grow があるページで、バッキング Bean などからフラッシュをクリアしようとしました。
メッセージは保持され、もう一度表示されます。flash.setKeepMessages(true); を削除すると 上記のコードから、何も表示されません。
私は何を間違っていますか?
jsf - JSF の「フラッシュ」スコープにはどのような用途がありますか?
私は JSF 2.1 を学習中ですが、「flash」スコープが他のスコープと重複しているようです。これは何らかの価値をもたらしますか、それとも現代の GOTO: ステートメントとして無視する必要がありますか? 使用率は高いですか?他のタイプのスコープ (ビュー、リクエストなど) よりも使用することが望ましいですか?
java - Spring FlashScope
FlashScopeがSpring3.1に統合されるのを待っている間(とにかくこのリリースで予定されています)、このバグ投稿に出くわしました。これにより、3.1がリリースされたときに利用可能になるはずのルーズバージョンを組み込むことができました。
私の問題は、FlashScopeにある値にバインドできないように見えることです。たとえば、私のモデルには次のコードがあります。
私のUIでは、Velocityを使用して、次の方法でこのオブジェクトにバインドしようとします。
ただし、そのバインディングを使用しようとすると、次の例外が発生します。
ただし、ログには、リクエストに追加されたことを明確に記載できます。次のこともできます。
とにかくMap値にバインドすることはできますか(これはバッキングコマンドオブジェクトではなく、要求だけにあります)?
次の場合に注意してください。
まだマップにバインドできません...
この動作は、WebBindingInitializerを拡張することで変更できますか?FlashScopeMapを別のオブジェクトにラップするだけで問題は解決しますか?
jsf - JSFFlashScopeが記憶するメッセージが多すぎます
私のアプリケーションには単純なフローがあります。1つのフォームに入力して[保存]を押すと(すべてがうまくいく場合)、リスト付きの2番目のビューにリダイレクトされます。ここで、「オブジェクトを正常に追加しました」というメッセージを追加したかったのですが、覚えているものからのリダイレクトを使用しているため、Flashスコープを使用する必要があります。そして、私はそうしました。問題は、最初の「保存」中に1つのメッセージしか正しく表示されないのに、フォームに戻って「保存」をクリックすると、現在のメッセージと古いメッセージが表示されることです。(3回目)フォームに戻って[保存]をクリックすると、メッセージが1つだけ表示されるのはさらに奇妙です(1-2-1-2-1-2など)。私は何か間違ったことをしていますか、それともjsfのバグですか?つまり、同じメソッドを呼び出して、異なる結果を取得しているということです...
私はprimefacesと最新のmojarrを使用しています:
jsf-api-2.1.1-b04
jsf-impl-2.1.1-b04
primefaces-2.2.1
コードは次のとおりです(少なくとも最も関連性の高い部分):
SaveForm.xhtml:
saveThesisメソッド:
list-theses.xhtml:
java - Flash スコープには競合状態はありませんか?
JSF 2.0 Flash スコープが Cookie を介して Mojarra 2.x に実装されていることがわかりました。Flash を使用してビュー A からビュー B に移動すると、JSF がリダイレクト応答を送信するようです。set-cookie ヘッダーを含むのは、これと同じ応答です。
Cookie はブラウザーに対してグローバルであるため、これが競合状態につながる可能性はどのくらいあるのだろうか。Cookie はリダイレクト応答中に設定されるため、ブラウザが応答として発行する要求が常に最初にこの Cookie を使用することを HTTP 仕様が何らかの形で保証しているかどうかを確認しようとしました。
ただし、一般に、この最初のリクエストが何らかの理由で停止した場合 (インターネットがその特定のリクエストを地球の反対側にルーティングすることを決定したため)、別のタブから発信された 2 番目のリクエストが最初にサーバーに到着した場合、問題が発生する可能性があります。
2 つのページ間のフラッシュ スコープに Cookie を使用するのはひどい考えではないでしょうか。
jsf-2 - post が JSF2 フラッシュ スコープで値を設定した後、ページへの 2 番目の GET リクエストで再び表示されます (Flash スコープは有害と見なされます)。
JSF2 で新しい Flash スコープをテストしましたが、重大な問題が見つかったか、知識が不足しています。
ページを持つ:
シナリオがあります:
- 値「foo」を入力し、[テスト] をクリックします。
- 「Value in flash: foo」が表示されます
- 同じアドレスで新しいページを開く
- 「Value in flash:」が表示されます。
- 同じアドレスで別の新しいページを開く
- 'Value in flash: foo ' が表示されます <- IMHO これは間違っています!
再現性: Glassfish 3.1 および JBoss AS 7 で 100% テスト済み
おそらく同じ理由で別の問題:フラッシュからの JSF メッセージの削除
そう:
- JSF2フラッシュの望ましい動作ですか?
- これとフラッシュに関するその他の注目された問題に基づいて、参照フラッシュ実装は有害であると見なされるべきですか?
jsf-2 - com.sun.faces.context.flash.ELFlash.loggingGetPhaseMapForReadingでのjava.lang.NullPointerException
JSF-2.1.2を使用してapache-tomcat-7.0.16でアプリケーションを実行しています。faces-config.xmlにナビゲーションルールを追加した後、NullPointerExceptionが発生します。このバグはJSFフォーラムに提出されました。JSFとTomcatアプリサーバーの間に互換性のあるバージョンまたはこれに対するソリューションはありますか?エラースタックトレースを以下に示します。
jsf-2 - rich:dataTable 内で ah:commandLink を使用しているときに JSF1095 を警告する
私はh:commandLink
内部を持っていますrich:dataTable
。コマンド リンクをクリックすると、FacesMessage がコンテキストに追加され、同じメッセージにリダイレクトされます。h:messages
顔のメッセージを表示するタグをページに持っています。メッセージを表示することはできますが、次の警告が表示され、メッセージがクリアされません。
警告: JSF1095: フラッシュの送信 Cookie を設定しようとした時点で、応答は既にコミットされていました。フラッシュに保存された値は、次のリクエストでは使用できません。
JSF2.0、RF4.0.0.Final を使用しています。以下はコードです
index.xhtml
MyBean.java
}
在庫.java
/* * このテンプレートを変更するには、[ツール] | [ツール] を選択します。テンプレート * エディターでテンプレートを開きます。*/
spring - SpringMVCFlashMapおよびRedirectAttributesリクエストマッピング
昨日、新しいSpring 3.1RCをダウンロードして、SpringMVCで導入されたばかりのフラッシュスコープ変数のサポートをテストしました。残念ながら、私はそれを機能させることができませんでした...
spring:formsタグのないいくつかのチェックボックスを含むHTMLフォームがあります。このようなもの:
Flashスコープがサポートされる前は、注釈付きコントローラーは次のようになりました。
HttpServletRequest
または、次の代わりに使用することもできます@RequestParam
。
どちらの方法も問題なく機能していました。RedirectAttributes
メソッドパラメータにを追加しようとすると、Springは例外をスローします。
ログ:
私は何が間違っているのですか?フラッシュスコープの変数を追加する場所でRedirectAttribuesパラメーターを取得するにはどうすればよいですか?