問題タブ [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.

0 投票する
2 に答える
1874 参照

spring - カスタム ViewScope を使用したマネージド Bean

Spring 3.1.0.RELEASE、JSF 2.x、JPA 2 と Hibernate Provider を使用して Web アプリケーションを実行しています。わかりやすい URL には PrettyFaces 3.3.2 を使用します。アプリケーションは Tomcat 6.35 で実行されます。

Jsf ViewScope を使用したかったので、Web で見つかった実装に従うことにしました: http://comdynamics.net/blog/109/spring3-jsf2-view-scope/

@PreDestroyshow this question @PreDestroy never called on @ViewScopedのように、それらが呼び出されていないことに気付きました。

ViewScope を持つ Managed Bean は destruct されないということですか? メモリリークを行う行為。このスコープを使用する必要がありますか?

Spring または Mojarra のカスタム Viewscope でのみ発生しますか?

ありがとう。

0 投票する
1 に答える
1461 参照

jsf - JSF 2.2 @ViewScopedバインディングのバグ?

@ViewScoped(BUG REPORT)のバインディングバグについて読み、JSFの最新バージョンの1つで修正されたので、これをJSFの最新バージョン3つでテストし、

それを解決するために修正しますが、運がありません。

各列ヘッダーにフィルターがあるprimefacesデータテーブルがあります。

JSFのバージョンを変更する前は、[Filtrar]ボタンをクリックするたびに、cadastroClienteBeanの新しいインスタンスが作成されていました。変更したので、ManagedBeanが毎回インスタンス化されているわけではないようですが、コンストラクターでインスタンス化しても、cliente変数はnullになります。

編集:少しデバッグした後、フィルターの値が変数に設定されており、その直後にsetCliente()が呼び出されてnullに設定されていることがわかりましたが、理由はわかりません。

0 投票する
1 に答える
2061 参照

jsf-2 - ManagedProperty のシリアル化

JSF の@ViewScopedand@ManagedPropertyには次の問題がありManagedBeanます。基本的に次のような があります。

予想どおり、要求が処理された後、コントローラーはシリアル化されます。@ManagedProperty sessionConfigはシリアライズで特別に処理されること、特にデシリアライズ後に「再リンク」されることを期待していました。ただし、デシリアライズ後sessionConfigは、実際の SessionConfig-Bean の古いクローンにすぎないことがわかります。

質問:

  1. これは予想される動作ですか?
  2. @ManagedPropertyデシリアライゼーション後にJSF を再評価させるにはどうすればよいでしょうか?

現在、デシリアライズ後にすべての管理プロパティを「手動で」再評価しています。それは機能しますが、明らかに正しくないようです。

ありがとうございました!

0 投票する
2 に答える
5630 参照

jsf-2 - @ManagedBean で @Interceptor を使用する

CDI による傍受は @Named では完全に機能しますが、@ManagedBean では機能しません。

Logable.java

LoggingInterceptor.java

WorkingBean.java

ビーンズ.xml

ViewScopedBean.java

この種のインターセプターは WebBeans (および EJB) で動作するように意図されていることは承知していますが、同じインターセプターの概念を持つ両方の世界 (記述 + JSF)のソリューションを探しています @ViewScoped @ManagedBean が必要です。純粋な WebBeans を支持して @ManagedBean を取り除くことはできません

システム: Mojarra 2.1.7 Primefaces 3.2

0 投票する
1 に答える
621 参照

jsf - コンバーターは @ViewScoped では機能しません

コンバーターで問題に直面しています。私の xhtml ファイルには、オブジェクトのリストを含む selectOneMenu があり、managedBean にオブジェクトを設定したいと考えています。

マネージド Bean に @SessionScoped がある場合、マネージド Bean のオブジェクトは満たされますが、マネージド Bean に @ViewScoped がある場合、コンバーターは使用されず、オブジェクトは null です。

この問題を解決するには?

Xhtml :

typConverter :

たくさん送信

0 投票する
1 に答える
78 参照

java - ビューが表示または変更された後にコードを実行します

さまざまなビューを指すアイテムを含むメニューがあります。

各ビューには、リスナーが接続された選択コンボボックスがあります。

そのビューでは、セッションスコープのマネージドBeanを使用します。

初めてビューに移動すると、Beanの作成時にメソッドが呼び出されます。ユーザーが選択ボックスから値を変更すると、同じメソッドが呼び出されます。ただし、ビューが再表示されたときにメソッドは呼び出されません。

これは、セッションスコープのBeanを使用しているために発生します。より良い解決策は、代わりにビュースコープのBeanを使用することでしたが、私は別の方法を探しています。ビューが変更されたときに特定のコードを実行する方法はありますか?

0 投票する
0 に答える
684 参照

primefaces - @ViewScoped Bean および s:viewAction を使用した primefaces fileUpload

JBoss 7.1.1.Final、Seam 3.1、CDI、JSF 2、Primefaces 3.4RC1 を使用しています。次の s:viewAction を持つページがあります。

entryActionManager は @ViewScoped であるため、ページが読み込まれると、entryId GET パラメータが取得され、対応するエントリがこの @ViewScoped Bean に読み込まれます。

さらに、同じページに次の fileUpload コンポーネントがあります。

ファイルをアップロードしたい場合、@ViewScoped Bean が停止し、s:viewAction が再度実行されることがわかりました。ただし、何らかの理由で GET パラメーター (entryId) がなくなったため、失敗します。

私は設定しようとしました:

しかし、うまくいきません。これに対する回避策を知っていますか?1 つのオプションは @ConversationScoped を使用することですが、@ViewScoped を使用することをお勧めします

ありがとう

0 投票する
3 に答える
7550 参照

jsf-2 - ViewScoped Bean でのメモリ リーク?

JBoss 7.1.1上の JavaEE6プロジェクト ( EJB3JSF2 )では、SeamFacesでメモリ リークが発生しているようです。@ViewScoped

事実を確認するために小さなプロトタイプを作成しました。

  • JMeter を使用してページを 200 回呼び出します。
  • ページには、ステートフル EJB を注入する viewscoped Bean が含まれており、それを呼び出します。
  • セッション タイムアウトを 1 分に固定します。

テストの最後に、VisualVM を使用してメモリの内容を確認すると、次の結果が得られました。

  • Bean を使用し@ViewScopedても、ステートフルの 200 のインスタンスを取得できますMyController@PreDestroyメソッドは呼び出されません。
  • @ConversationScopedBean を使用すると、@preDestroyメソッドがセッション終了と呼ばれ、クリーンなメモリが得られます。

ビュースコープの使い方が悪いのか、それとも本当にバグなのか?


XHTML ページは次のとおりです。

今含まれている Bean myBean。バリアントの場合@ConversationScoped、コメント化されたすべての部分はコメント化されていません。

そして、注入されたステートフル Bean MyController:

0 投票する
0 に答える
623 参照

param - 1 つの Bean から f:param で値を渡すと、Bean 2 のコマンドボタンが押されたときに値が失われます

両方の Bean で ViewScope を使用すると、commandLink を介して f:param を使用して、1 つの Bean (browseUsers) から別の Bean に値を渡しますが、bean 2 (editUsers) では、コンストラクターでコマンド ボタンが押されると、すべての値が失われます。お知らせ下さい。

browseUsers.xhtml のコマンドリンクとデータテーブル コード:

editUsers.xhtml のコマンド ボタン コードは次のとおりです。

editUsers.java の Bean メソッドは次のとおりです。

@ViewScoped

public class editUsers は Serializable を実装します {