問題タブ [flow-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 - WELD-001303 スコープ タイプ javax.faces.flow.FlowScoped のアクティブなコンテキストがありません
登録プロセスに Faces フローを実装していますが、Bean の「CreateBn」に @FlowScoped でアノテーションを付けると、次のエラーが発生します。また、CDI: SessionScoped を使用すると、次のように動作します。
そしてここに豆があります:
また、ファイルの命名エラーがないことを確認しています: フロー フォルダー、xxx-flow.xml、xxx-return.xhtml。助けてください
jsf-2 - フローを「メソッド呼び出しノード」に誘導する「スイッチ ノード」の FromOutcome が機能しない
フローを次のように定義しました。
ご覧のとおり、2 つのスイッチ ノードがあります。最初はView Nod
e に向けられ、2 番目は a に向けられようとしていMethod Call Node
ます。
1 つ目は問題なく動作しますが、2 つ目は頭痛の種です。2番目のものは私にエラーを与えています
Unable to find matching navigation case with from-view-id '/pages/publishers-form.xhtml' for action '#{publisherBean.proceed()}' with outcome 'proceed-form'
.
進行機能はただ
ログに記録された情報publisherBean.actionType.ifEdit()
は true を返しますが、その事実は無視されます。結果をinvoke-update
toform
または他のView Node
ID に変更すると、「正常に動作します」。
私は何か間違ったことをしているのですか、それともMethod Call Node
aの結果として使用できSwitch Node
ませんか?
jsf-2 - メソッドの初期化後に Faces Flow に inboundParameters をロードする
フローを定義しました:
ご覧のとおり、受信パラメーターがあります<initialize>
。タグで渡されたメソッドで適切な初期化が必要です。問題は、初期化メソッド中にその値にアクセスすることlockingBean.initializeBean()
です。実行中のパラメーターtargetId
は null です。ビューではその値をテキストとして配置しているため、正しく渡されます。つまり、渡されたメソッド<initialize>
が実行され、その後、受信パラメーターが Bean に渡されます。私の意見では、この順序は正しくありません。
この順序を変更することは可能ですか、それともきれいな方法はありますか?
この時点では、初期化メソッドで何もしていません。すべての初期化は一時的に別のメソッドに移動され、ビュー ファイルから呼び出され、パネル グループにレンダラーが設定されます。それはすべてうまくいきますが、この解決策は正しいとは言えません。
jsf - WELD-001303 直接アクセスでスコープ タイプ javax.faces.flow.FlowScoped のアクティブなコンテキストがありません
週の初めから JSF 2.2 (MyFaces 実装 v2.2.6 および CDI の Weld v2.2.7.Final) で遊んでいますが、次の問題に直面しています。弟と一緒にフロー エントリ ポイントに直接アクセスできません。 .
例えば :
私の webapp には、データベースにレコードを作成することを許可する「作成」という名前のフローが含まれています。http://my.domain/webapp/create/create.jsf
ブラウザのアドレス バーにURL を入力できるようにしたいと考えています。
そうすると、ページが正しくレンダリングされず、次のログがサーバーに表示されます
ログ : WELD-001303 スコープ タイプ javax.faces.flow.FlowScoped のアクティブなコンテキストがありません。
私は何を間違っていますか?それは可能であるべきではありませんか?私はそれがあることを願っています!
フローの外部で、フロー エントリ ポイントにリダイレクトする commandButton が 1 つしかないページを作成しても問題はありません。ソース コードを見ると、フローがまだアクセスされていないにもかかわらず、フローの ID が既に作成されているようです。そのため、FlowScoped の設計が不十分だと思います。さらに、このような回避策 (「ランチャー」ページ) は、私自身のデザインとエンド ユーザー エクスペリエンスを損ないます。
利用可能なソリューションは何ですか?
サンプルコードは次のとおりです。
create.xhtml
CreateController
xhtml「ランチャー」
create-flow.xml には「flow-return」ディレクティブのみが含まれます。
jsf-2.2 - Faces フローはサーブレット内から開始できますか?
ユーザーをログイン画面にリダイレクトするサーブレットによってアクセスされるサービスがあります。バッキング Bean のスコープは現在、@ConversationScoped から @FlowScoped に変更されています。これは、処理が容易になるためです。
暗黙のアクションや JSF フォワード/リダイレクトによる間接化なしに、サーブレット内から直接 Faces フローを初期化する方法はありますか?
@FlowScope が JSF (2.2) スコープであることは承知しており、たとえば FacesServlet などを拡張する方法があるかどうか疑問に思っていました。
回避策として、現在、ボタン付きのビューを追加しました。これにより、JSF フォワードがフロー ディレクトリに入るようになりますが、これを回避しようとしています。
更新
ボタンをクリックしなくても、フローに「自動的に」転送する多くのアプローチを試しましたが、常にNo active contexts for scope type javax.faces.flow.FlowScoped
. ここで私のアプローチ:
f:viewAction
これは実行が早すぎるようです (いずれにせよ)。
f:event
Bean のメソッドは、 と同じ結果を返します
f:viewAction
。ナビケース
/li>
私は何が欠けていますか?
jsf-2 - JSF 2.2 の視点ノードとは何ですか?
一部のビューをフロー ビュー ノードとして定義する利点は何ですか?
ビュー ノードは、別のフロー定義ファイル内またはタグをFlowBuilder#viewNode
使用して定義できます。例えばview
faces-config.xml
この定義が開始ノードを決定するために必要であると理解しています。しかし、他のビューをフローのメンバーとして定義する理由
- 他のビューもフロー スコープ Bean にアクセスできます。
- フロー ビューから非フロー ビューへのナビゲーションは正常に機能しますか?
jsf - JSF 2.2 と Flows - ビュー ID から一致するナビゲーション ケースが見つからない
シンプルな JSF フロー アプリケーションを開発しています。JSF.2.2 および GlassFish 4。
アプリケーションのビュー構造は次のようになります。
しかし、ある流れに入ると問題が発生します。例えばFLOW-A。その後、次の警告が表示されます。
すでにこのフローにいる場合、同じフローに戻ることはできませんか?
cdi - Web フラグメントでのフローの使用
フローを含む webfragment を含む webapp を構築しようとしています。
webfragment として使用したい webapp のスタンドアロン バージョンの構築を開始しました。それは働いています。その後、次の構造に変換しました。
構造についてはよくわかりません。より良いものや慣例があれば教えてください。
Webfragment は正しく設定されており、webapp はそれを認識しています。「webfragment-start.xhtml」ページに移動できますが、フローに入ろうとすると、NullPointerException が発生します。
JSF 2.2とOmnifacesも使用している別のプロジェクトで、このメッセージが表示されるため、CDIが正しく利用できないと思います
Tomcat に CDI をインストールする方法に関する BalusC の指示にも従いました。これはスタンドアロンの webapp として機能しますが、webfragment としては機能しません。
Webfragment の構築方法に関する適切でわかりやすいチュートリアルが見つかりませんでした。どなたかご存知でしたら、教えていただければ幸いです。
すべてのヘルプは大歓迎です!
よろしく、 ミーシャ