問題タブ [composite-component]

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 に答える
320 参照

jsf - 複合コンポーネントが呼び出されない理由

method-signature 属性を持つコンポメントがあります。アクティブ化できますが、 に入れて<h:datatable> <h:column/>このコンポーネントをトリガーすると機能しません。

このページをもう一度更新するか、別の場所に置くと、正常に呼び出されます。誰か理由教えてくれたら嬉しいです!

これは私のコードです

このmanagedBean #{bookAction}は、削除のように、この操作の1つをクリックするとrequestScopeになり、まったく機能しません。しかし、「削除」コマンドリンクを . の外に置くと、<h:datatabel/> バッキング メソッドを正常に呼び出すことができます。それはとても怒っています!

これらのコードを.it<h:datatable/>に入れれば、見つかった .i をシールドできるかどうか誰が教えてくれますか? <h:form/>理由を教えてください!

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

jsf-2 - JSF複合コンポーネント内の日付変換例外

JSF から JPA 管理の日付値にアクセスすると、javax.faces.component.UdateModelException が返されます。

JPA で管理された日付値 (プロキシされていることを意味します) を使用すると、次のように EL から直接使用すると正常に動作します。

ただし、複合コンポーネントで使用しようとすると問題が発生し、次のコンバーター例外が返され、モデルを更新できません...

(簡略化された) JSF 複合コンポーネント inputDate.xhtml

前提: OpenJPA でのプロキシ置換は、値がコンポジット内からアクセスされている場合に異なる方法で処理されるようです。私の推測では、EL リゾルバーはオブジェクト値への呼び出しをコンポジットに渡されるときに異なる方法で処理します。それをコンポジットに渡すということは、最初にコンポジット内でアクセスされることを意味しますが、これでは遅すぎて、必要なプロキシの置換が行われません (したがって、コンバータ例外)。

そこで、MyFaces の Expression Language を変更しようとしましたが、クラスのロードを最後に親に変更し、lib フォルダーに Glassfish から el-impl と el-api を提供し、必要なコンテキストを挿入したにもかかわらず、Websphere では機能しませんでした。 -MyFaces のパラメータ

複合コンポーネントでJPA管理の日付(または他のプロキシされたエンティティ)をどのように使用しますか???

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

java - JSF2:複合コンポーネントの子をコンポーネント内の特定の場所にレンダリングするにはどうすればよいですか?

次のような複合コンポーネントの子を参照して表示するのに問題があります。

mycomponentそのように定義されている場所:

を介してコンポーネントの子を一覧表示できます#{cc.children}が、複合コンポーネントの特定の場所でそれらをレンダリングする方法がわかりません。アイデアや回避策はありますか?

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

jsf - オプションの受け渡し複合コンポーネント内の JSF コンポーネントへ

複合コンポーネントの内部コンポーネントに属性値を渡したいと考えています。要するに、h:outputLink を別の XHTML でラップしようとしているということです。outputLink で使用できる DHTML イベント属性をオプションで使用したいと考えています。内部コンポーネントでそれらを提供して値を入力することもできますが、レンダリングされた XHTML には多数の空の属性宣言 (つまり、など) が含まれます。希望は、ファセットとして渡されるか、コンテンツとして直接 dwithin を使用することです。これは機能していないようです。

私がうまくいくと思ったものの短い例:

コンポーネント ファイル - foo.xhtml

何か案は?

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

java - JSF 2 - 複合コンポーネントの子が操作を完了した後にアクションを実行するにはどうすればよいですか?

私はまだ JSF 2 の複合コンポーネントの機能のいくつかを使用する方法を学んでいます。私は JSF 1.2 開発の経験があり、最近 Geary と Horstmann による本「Core Java Server Faces 3rd Edition」を読みました。

私がやろうとしているのは、ファイル アップロード コンポーネントをラップする複合コンポーネントを作成することです (現在は PrimeFaces を使用しています<p:fileUpload>)。アップロードされたファイルを、セッション スコープのマネージド Bean の文字列ベースのキーに関連付ける必要があります (後で使用します)。「uploadedFileKey」という名前の複合コンポーネント インターフェイスの属性を介してキーを提供しようとしています。インターフェースは次のとおりです。

実装は簡単で、前述のように PrimeFaces の fileUpload タグを使用します。これには、PrimeFaces ショーケース Web アプリケーションのサンプル コードに基づいて作成したイベント ハンドラーを持つマネージド Bean が必要です。これが私の実装です:

ここにコントローラ Bean 全体を含めるつもりはありませんが、クラス宣言は次のとおりです。

PrimeFaces ファイルのアップロードは、私が見た他のものと同じです。Faces サーブレットのカスタムFilterを使用して、アップロード データにアクセスします。実際のファイル アップロード部分は正常に動作し、アップロードが成功すると、アップロードされたファイルが Tomcat サーバーの一時ファイルに保存されます。

私の問題は、アップロードが成功した後に複合コンポーネントにアクションを実行させる方法がわからないことです。複合コンポーネントに、マップ値としてアップロードされた特定のセッション スコープのマネージド Bean にを格納するようuploadedFileKeyにします。どうやってやるの?MapFile

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

jsf - JSF 2複合コンポーネントEL型変換エラー

以下のコード スニペットのインターフェイス部分に EL 式を持つ JSF 複合コンポーネントがあります。

今私の問題は、「default="#{cc.attrs.label ne null}」がエラーを出していることです。

JSF 2.0.4、EL 2.1、WAS 7 を使用しています

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

java - JSF Composite コンポーネントと selectItems

複合コンポーネントをいじっていて、わからないことがありました。複合コンポーネントを使用しないと、次のようになります。

基本的に、そのスニペットを複合コンポーネントに変えました。

ここで私は困惑しています。コンポーネントで使用したい項目のリストをバッキング Bean に入れて、次のように使用できることはわかっています。

本当の問題は、バッキング Bean を使用せずにオプションを渡す方法があるかどうかです。私は次のようなものだと思います:

または多分

注:明らかに、これら2つは機能しません。そうでない場合、私は質問をしません。

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

jsf-2 - JSF 2 ネストされた複合コンポーネントの質問

JSF 2 での複合コンポーネントの作成に関する記事や、ネストされた複合コンポーネントの定義に関する記事をいくつか読みましたが、未定義の数のサブコンポーネントを受け入れることができる複合コンポーネントを定義する例を見つけられませんでした。

これと同様の方法で使用できる複合コンポーネントを作成できるようにしたいと思います。

新しい JSF 2 構文を使用してこれを達成する方法の例または説明はありますか?

ありがとう!

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

jsf - JSF2/Faceletsのプライベート/スコープ変数

JSFのビジュアルコンポーネントに関しては正しく考えていないかもしれませんが、それは私の質問の一部だと思います。私の質問は、JSF <ui:component>実装内で宣言された変数のスコープが不足しているように見えることです。

だから、私が/resources/comp/myPanel.xhtmlを持っているとしましょう:

そして、そのコンポーネントにロードされるリソースバンドル、panelOnly/bundle.propertiesがあります。

そして、myPanelコンポーネントmainPage.xhtmlを配置するページがあります。

メインページmainPage/bundle.propertiesに読み込まれるリソースバンドルがあります。

ここで、私のページは次のようにレンダリングされると思います。

しかし、代わりに、私は次のようになります。

そして、それは、mainPage.xhtmlがその値を解決しようとしたときに、元のmainPageのオブジェクトではなく、コンポーネントの「バンドル」オブジェクトを参照するように、コンポーネントで「バンドル」シンボルが参照するものを壊したためだと思います。

これまでの私の回避策は、メインページの変数と衝突することのない一意の名前付き変数をコンポーネント内で使用することでした。しかし、JSFを誘導して、コンポーネントで宣言されたものをローカルスコープの変数として認識し、呼び出し元のシンボルを壊さないようにする方法があればいいのですが。

#{cc.attrs...}の下にローカルスコープの変数を作成するために使用できるタグが他にもあると思います。あなたの答えに私の地元のスコーピングオプションを列挙することができれば、それは非常に役に立ちます。<f:loadBundle>は特殊なケースであると思われますが、<ui:component>を念頭に置いて設計されていないため、回避策がない可能性があります。

ありがとう!

PS私はMojarra2.1.1(FCS 20110408)を実行しています

(2011年6月15日のバグのフォーマットとコピーアンドペースト用に編集)

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

jsf - メソッドの引数/パラメーターを複合コンポーネント アクション属性に渡す

タイトルは本当にそれをすべて言います。私はエラーで失敗した試みをしました:

Illegal attempt to pass arguments to a composite component lookup expression (i.e. cc.attrs.[identifier]).

私の試みは次のようになります。

これを行う正しい方法は何ですか?