問題タブ [view-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 - サーブレットから @ViewScoped マネージド Bean にアクセスするには?
サーブレット内のビュー スコープ マネージド Bean にアクセスしたいと考えています。
私は同様の質問を検索し、これらのものを得ました:
を使用するFacesContext.getCurrentInstance()
ビュースコープから Bean を取得する方法
JSF -他のすべてのスコープを処理するがビュースコープを処理しないマネージド Bean を名前で取得する
無理だと思いますよね?
Bean スコープをセッション スコープに変更する簡単な解決策もありますが、メモリ消費が心配なので最後のチャンスです。
私の最後のニーズは次のとおりです。managebean には、dataTable に表示されるデータが含まれています。同じページに、それらのデータのチャート表現の画像 (必須) を含める必要があります。イメージはサーブレットで生成できますが、データにアクセスするか、データベースから再ロードする必要があります。
PrimeFaces 2.X からも試しました<p:graphicImage>
が、viewscope Bean と互換性がありません。なにか提案を?
java - Richfaces の mediaOutput を使用した ViewScoped NPE
<rich:fileUpload>
+ <a4j:mediaOutput>
コンポーネントを含むページを処理するマネージド Bean ViewScoped に問題があります。
アップロードが完了すると表示 (= レンダリング) される画像をアップロードしようとすると、常に Null Pointer Exception が発生します。私のページは、ここのリッチフェイス コンポーネントの使用例と非常によく似ています: http://showcase.richfaces.org/richfaces/component-sample.jsf?demo=fileUpload&skin=blueSky
例外のスタック トレースは次のとおりです。
Servlet.service()" サーブレット FacesServlet に一般的な例外を追加: java.lang.NullPointerException at com.sun.faces.mgbean.BeanManager$ScopeManager$ViewScopeHandler.getFromScope(BeanManager.java:563) [jsf-impl-2.1. 7-jbossorg-2.jar:] com.sun.faces.mgbean.BeanManager$ScopeManager.getFromScope(BeanManager.java:477) [jsf-impl-2.1.7-jbossorg-2.jar:] [...他の痕跡...]
そして私のコードはそのようなものです:
スコープを変更し、に置き換え@ViewScoped
て@SessionScoped
動作します。しかし、マネージド Bean に自分の情報を保存することは気にしないので、このスコープは必要ありません。また、簡単な修正を見ましたが、まだ汚れています: https://community.jboss.org/thread/168523
SessionScoped と ViewScoped を組み合わせて、私の最初の修正よりも優れています。
でも本当はただ使いたいだけ@ViewScoped
なんだけど、もしかしたら駄目なのかも知れない。この例外が発生した理由を説明していただければ、解決策を見つけることができます。
前もって感謝します。
jsf-2 - JSF ViewScope - アクションで null を返すとビューが更新されない
ViewScope モードの Managed Bean があります。そのため、このマネージド Bean から何らかのアクションを呼び出すと、ページが更新されません。アクションが適切に呼び出され、null が返されることがわかります (viewscope ワークフローは問題ありません)。
それで、私は何を間違っていますか?
Ajax を使用してページを再レンダリングすると、正常に動作します。
編集:
私のバージョンは次のとおりです。
JSF 2.1.14 と Primefaces 3.4.1
私のコード:
マイページ:
私の画面では、ステータス変数は変わりません。そして、はい.. アクションは OK と呼ばれます。いくつかのヒント?
jsf-2 - JSF2.0@managedpropertyが1つのviewScopedBeanから別のviewScopedBeanに機能しない
プロパティとしてinputTextを持つ@viewScopedbean(たとえばbean1)があります。faceletから、Iamはこのinputtextフィールドの値を設定します。ただし、送信操作後、他のファセット(マネージドBeanはbean2が@viewScopedにあると言う)もロードされている場合、bean1 inputText値を取得する必要がありますが、iamは取得できません。ビュースコープBeanでは、状態が一度失われることがわかります。次のビューに移動しますが、値を取得する方法はありますか?次のファセットに値を表示する必要があるため...ちなみに、Iamはajaxを使用しているため、Beanをビュースコープにする必要があります
bean2(@viewScoped)で次のコードを試しましたが、以下に示すsysoutは常にnullです。
両方のBeanが@viewScopedにある必要があります。Bean1からBean2に値を取得する方法はありますか?前もって感謝します
jsf - @SessionScoped を @ViewScoped に変更すると、常に JDOM 例外が発生しました
1 つの jsf ページ @SessionScoped のスコープを @ViewScoped に変更したいのですが、常にこの例外が発生し、その理由がわかりません。ビルドパスと依存関係をすべて確認しました。スタック エラー:
これを回避/修正する方法を教えてくれる人がいますか?
java - f:param が p:commandButton にネストされた ViewScoped Bean で BeanValidator をスキップする
私は BeanValidator (javax.faces.validator.BeanValidator を拡張) を使用していますが、一部のアクションでは必要ないため、場合によっては検証を防止する必要があります。私のバリデーターは、値が「ignore_validation」の「validationBean」パラメーターのリクエストパラメーターマップをチェックし、それが見つかった場合、検証はスキップされます。
ViewScopedマネージドBeanでこれを行うのに苦労しています。これを行うことで、いくつかのボタンをクリックするときに検証をスキップしようとしています:
そして、私の BeanValidator では、パラメーターを取得して、これを行う検証をスキップしようとしています:
ただし、上記の「validationBean」変数は null です。つまり、パラメーターが見つかりませんでした。したがって、検証が実行されています。
リクエスト パラメータ マップにパラメータがないのはなぜですか? このコンセプトに何か問題はありますか?一部のシナリオで BeanValidator 検証をスキップする他の推奨方法はありますか?
私はprimefaces 3.2.4、Mojarra 2.1.2、およびTomcat 6.0.36を使用しています。
ありがとう!
jsf - ビュースコープのバッキングBeanの内部コンバーターをどうするか
JSFのビュースコープのバッキングBeanに関するその他の問題。ビュースコープのバッキングBeanで内部クラスを作成しました。その内部クラスはコンバーターです。バッキングBean(この場合はselect-oneアイテムのリスト)からいくつかのフィールドにアクセスする必要があるため、内部クラスが必要です。突然、リクエストのたびにバッキングBeanの@PostConstruct
メソッドが呼び出されることがわかりました。いくつかの検査の後、私はコンバーター属性が問題であることに気づきました、そして、いくつかのグーグル検索の後、これの(いつものように)BalusCのブログの理由を見つけてください。
だから、私の質問は、コンバーターを正常に動作させる方法と、変換に必要なデータのリストを用意する方法です。
jsf - JSF 2.0/2.1で@ManagedBean/@ViewScopeをCDIに置き換える方法
私は現在、RichFacesを使用してJava EE 6 /JSF2.1を評価しています。
として宣言されているBean
- IDセットを取得します(たとえば、削除操作を準備するため)。
- JSFを介して、確認ポップアップが表示されます。
- ユーザーが確認すると、deleteメソッドが呼び出され、手順1でIDが保存された行が削除されます。
CDI BeanにはViewScopeがないため、Beanを次のように宣言しようとしました。
これで、ステップ1で設定された(チェックされた)値が使用できなくなったため、ステップ3で処理が失敗します。
Conversation.begin()
とConversation.end()
メソッドを使用する必要がありますか?
もしそうなら、それらを呼び出すのに良い場所はどこですか?