問題タブ [backing-beans]

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 投票する
1 に答える
14253 参照

java - 異なる種類のJSFマネージドBeanを区別する

私は最近、Neil Griffinがさまざまな種類のJSFマネージドBeanを区別することからこの記事を読み、自分のアプリケーションでのさまざまなBeanの区別について考えさせられました。要点をすばやく要約するには:

  • モデルマネージドBean:このタイプのマネージドBeanは、MVCデザインパターンの「モデル」の問題に関与します。「モデル」という言葉を目にしたときは、DATAと考えてください。JSFモデルBeanは、プロパティをカプセル化するゲッター/セッターを備えたJavaBeanデザインパターンに従うPOJOである必要があります。

  • Managed-Beanのバッキング:このタイプのManaged-Beanは、MVCデザインパターンの「ビュー」の問題に関与します。バッキングBeanの目的は、UIロジックをサポートすることであり、JSFビューまたはFaceletコンポジションのJSFフォームと1:1の関係にあります。通常、ゲッター/セッターが関連付けられたJavaBeanスタイルのプロパティがありますが、これらはビューのプロパティであり、基になるアプリケーションデータモデルのプロパティではありません。JSFバッキングBeanには、JSFactionListenerメソッドとvalueChangeListenerメソッドも含まれる場合があります。

  • Controller Managed-Bean:このタイプのManaged-Beanは、MVCデザインパターンの「Controller」の問題に関与します。コントローラBeanの目的は、ある種のビジネスロジックを実行し、ナビゲーション結果をJSFナビゲーションハンドラに返すことです。JSFコントローラーBeanには通常、JSFアクションメソッドがあります(actionListenerメソッドはありません)。

  • マネージドBeanのサポート:このタイプのBeanは、MVCデザインパターンの「ビュー」に関する1つ以上のビューを「サポート」します。典型的な使用例は、複数のJSFビューに表示されるJSF h:selectOneMenuドロップダウンリストにArrayListを提供することです。ドロップダウンリストのデータがユーザーに固有のものである場合、Beanはセッションスコープに保持されます。

  • ユーティリティ管理対象-Bean:このタイプのBeanは、1つ以上のJSFビューにある種の「ユーティリティ」機能を提供します。この良い例は、複数のWebアプリケーションで再利用できるFileUploadBeanです。

これは私にとって理にかなっており、過去数時間、コードをリファクタリングしていて、ユーザーログインに関して次のことを思いついた。

これAuthenticationControllerは、ControllerManaged-Beanの例です。これはリクエストスコープであり、ユーザー名とパスワードを設定するための2つのゲッターとセッター、および2つのナビゲーション方法を備えauthenticateておりlogout、ログインに成功するとプライベートエリアに移動するか、ログアウトするとメインページに戻ります。

これUserBeanは、サポート管理対象Beanの例です。これはセッションスコープでありUser、ゲッターとセッターを備えたクラスのインスタンス(認証されていない場合はnullになります)を備えています。

AuthenticationController、このユーザーを管理プロパティ(@ManagedProperty(value = "#{userController.user} private User user;)として持っています。認証が成功すると、AuthenticationControllerは管理プロパティを、ログインに使用された対応するユーザー名を持つ実際のユーザーインスタンスに設定します。

Userクラスにグループ名のリストが含まれている場合、新しいBeanはすべて、ユーザーを管理プロパティとして取得し、必要なデータ(たとえば、グループメンバーシップなど)を取得できます。

この方法は、関心の分離に関して進むための適切な方法でしょうか?

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

jsf-2 - GET パラメータ ビュー スコープ Bean

JSF2/richfaces 4 プロジェクトに奇妙な影響があります。viewscoped Bean と datascroller を使用して、バッキング Bean からいくつかのデータを表示します。Bean はビュースコープであり、figureIdパラメーターを渡すためにpreRenderViewイベントを発生させます。

正常に表示されますが、データスクローラーの 2 番目のサイトをクリックすると、次の行で nullponter 例外が発生します<f:event type="preRenderView" listener="#{pointEdit.init}" />

私の豆:

新しいデータをインポートする前は、テスト フィギュアで問題なく動作していました。figureId GET パラメータが init 関数で見つからないのはなぜですか? 私のテストデータ(5桁)では、これで問題が発生したことはありません.

アップデート:

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

jsf-2 - 複合コンポーネントのバッキングBeanの場所

JSF2ページを複合コンポーネントに分割しようとしています。そこで、複合コンポーネントを論理ファイルツリーに配置することにしました。例えば:

WebContent / resources / components / page1 / component1.xhtml

関連するBeanは

Javaリソース/src/components/page1/component1.java

そのパッケージはこれcomponents.page1です。

この例では、component1.xhtmlが検出されてレンダリングされていますが、Beanがサーバーによって検出されていません。

サブパッケージを使用しない場合:

WebContent / resources / page1 / component1.xhtml
Java resources / src / page1 / component1.java

したがって、クラスがパッケージに含まれpage1ている場合、それは機能します。

複合コンポーネントBeanとサブパッケージに問題はありますか?

MyFaces 2.0、Tomcat 6、およびEclipseを使用しています。

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

jsf-2 - リスト内の各アイテムのバッキング Bean メソッドから itemDisabled を設定します

ラジオボタン リストがあり、バッキング Bean メソッドの結果に従っていくつかの項目を無効にしたいと考えています。

これは正しい方法ですか?つまり、このコードはリストからcheckIncompatible(x)それぞれを呼び出し、その項目を有効/無効に設定するか、それとも一度だけ設定しますか?xselectItems

すべてのボタンを有効または無効にすることができただけで、メソッドが一度しか呼び出されないのではないかと疑っています。または、私のコードの残りの部分は、私が信じたいほど完璧ではありません。そして、それを修正するには、はるかに長い質問が必要になります。

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

java - 共有/ユーティリティ バッキング Bean を作成するには?

ページの特定の部分を共有するいくつかのページがあります。たとえば、それらのユーザーを検索する機能を持つすべてのユーザーを表示するチェックボックスのグループなどです。そのため、UI 部分を facelet にグループ化して、他の部分に含めることができるようにすることを考えています。ページ、およびサーバー側の部分については、そのページのメソッドとプロパティを含む sessionScoped Bean を作成することを考えていますが、このアプローチについてどう思いますか? アドバイスしてください、ありがとう。

更新:重要な懸念事項があります。その Bean のメソッドを同期して、異なる要求に対して異なる値を返すようにする必要があります。つまり、異なる要求に対して同じ結果を返さないということですか?

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

java - バッキング Bean の適切な使用

はい、バッキング Bean に関する質問を検索したところ、多くの質問が見つかりました。私はそれらを読み、その一部を理解しましたが、別の質問をする必要があります。

JSF MVCパターンのために、バッキングBeanが必要であることを理解した後。バッキング Bean がモデルです。したがって、フォーム、画像、およびログイン ボックスを表示するページがある場合、バッキング Bean には、ビューで公開または変更する必要があるデータの getter/setter ペアがあります。また、バッキング Bean には、フォームの送信時やログイン時に何が起こるかなど、これに関連するメソッドもあります。

私の質問は、上記のステートメントが正しいかどうかです。上記のコンポーネント用に作成するバッキング Bean の数は、コードの量に依存しますか?

このページのすべてのコンポーネントのメソッドとゲッター/セッターのペアを公開する 1 つのバッキング Bean は、3 つのバッキング Bean を作成するのと同じように、正当で「正しい」(つまり、私が何も間違っていないことを意味します) でしょうか。コンポーネントごとに 1 つでも問題ありません。

要するに、ページごとに 1 つのバッキング Bean を作成するのではなく、いつ分離する必要があるか、またその論理的な部分を経験することでしょうか? ある人がページのコンポーネントごとにバッキング Bean を作成したと聞きましたが、最終的に小さなクラスがたくさんできたようです。

誰かが私を確認して修正できれば、非常に感謝します。

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

javascript - コマンド ボタンのクリック時に Java スクリプトでバッキング Bean の値を取得する方法

これを行うのを手伝ってもらえますか?コマンド ボタンをクリックすると、javascript でバッキング Bean から値を取得しようとしています。

これは私のjsfコマンドボタンです

これは私のJavaScript関数です

私の Bean は、mystring 変数に保存している文字列を返しますが、警告すると null 値が返されます。誰かがそれを手伝ってくれるなら、それは素晴らしいことです。前もって感謝します。

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

jsf - 含まれているJSFへのJSFBeanのバインド

私はこれで私のロープの終わりにいます。私はJSFを初めて使用するので、これはおそらく多くのことについての私の誤解です。

ページに特定のタイプを渡します。フォームの特定のフィールド/基準が表示され、単一の検索があるため、Beanがすべてをバックアップします。

myPage.jspx内に私は持っています:

onsubmit = "alert('hi');"ですが、機能しません。フォーム要素の属性として機能します。

最も紛らわしいのはそれだと思います

myPage.jspxのフィールドで機能します

アクション(ボタンの属性)が機能しないのはなぜですか?

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

jsf - jsf 1.2 にバッキング Bean の値を動的に含める方法

こんにちは、私は次のコードを持っています

creatPage1.jsp

私はupdatePage1.jspを持っています

(ui:include または jsp:include を介して) インクルードを実行し、値を動的に渡すことができるようにしたいと考えています (基本バッキング Bean は createPage または updatePage になります)。

したがって、結果は

Page1.jsp

jsfでこれを行う最良の方法は何ですか?

0 投票する
5 に答える
156326 参照

jsf - JSFバッキングBeanからのファイルダウンロードを提供するにはどうすればよいですか?

JSFバッキングBeanアクションメソッドからファイルのダウンロードを提供する方法はありますか?私はたくさんのことを試みました。OutputStream主な問題は、ファイルの内容を書き込むために応答を取得する方法がわからないことです。でそれを行う方法を知っていますServletが、これはJSFフォームから呼び出すことができず、新しいリクエストが必要です。

OutputStream現在の応答をどのように取得できFacesContextますか?