問題タブ [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 投票する
2 に答える
17485 参照

java - JSF 2 で複合コンポーネントをプログラムまたは動的に作成する方法

JSF 2 で複合コンポーネントをプログラムで作成する必要があります。数日間の検索と実験の後、この方法を見つけました (java.net の Lexi に大いに触発されました)。

問題は、このコードjavax.faces.PROJECT_STAGEが に設定されている場合にのみ機能することですPRODUCTION(これを理解するのに一日中かかりました)。javax.faces.PROJECT_STAGEが設定されている場合DEVELOPMENT、マークされたポイントで例外がスローされます ( <==[here]):

compositeRootコンポーネント (j_id2の自動生成 ID ) に設定された親に問題がありますcompositeRoot。また、このコードは十分にテストされていないため、信頼できるかどうかわかりません。

複合コンポーネントをプログラムで操作できることは非常に重要だと思います。そうでなければ、複合コンポーネントは半分役に立ちません。

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

validation - 複合コンポーネントのクロス フィールド検証

複合コンポーネントのクロスフィールド検証を実装するにはどうすればよいですか? 私が使用している複合コンポーネントは入力テキスト ボックスです (1 つは電子メール用、もう 1 つは電子メールの確認用)。confirmEmail コンポーネントに f:validator タグを適用しました。validate メソッドでメール複合コンポーネントの値を取得する方法。UIComponent または UINamingContainer ですか?

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

javascript - JSF複合コンポーネントを使用してページ上でIDを一意にする方法は?

私はflotと呼ばれるJavascriptチャートライブラリのコンポーネントを作成しています。

これは私がこれまでに持っている少量のコードです。私が抱えている問題は、複数のグラフを出力できるように、そのdivタグをページ上でランダムに生成する方法です。明らかに、現在の状態ではそれを行いません。値をjavascript関数に渡す必要があります。

idが必要な別の属性を作成でき、ユーザーはIDを指定する必要があることはわかっていますが、多くのコンポーネントでIDが不要であることに気づきました。Primefacesやicefacesのような重いajax/javascriptライブラリでは、IDが何らかの形でランダムであるように見えます。

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

jsf - バッキング Bean を持つ JSF 複合コンポーネント

Core JSF 3ブックのp375の例を使用して、独自のバッキングBeanで動作する複合コンポーネントを取得しようとしていますが、NPEを取得するだけです。問題は、encodeBegin() の開始にあるようです。Date date = (Date) getValue() は null を返します。正直なところ、コンポーネントの値が格納される場所がよくわからない場合は、cc:attribute type= を使用して java.util.Date として指定しますが、これがどのように行われるかはよくわかりません: public Object getSubmittedValue() { これを返します。} - InputDateBean クラスのインスタンスを返します - 結果は Date になります。私は一般的にこれがどのように機能するはずなのかについてよく混乱しています。

本の例とは異なり、一時的な保存にバッキング コンポーネントを使用しようとしているので、日が入力されると #{cc.day} に保存しようとします。本では、何らかの理由でアプリケーション スコープ Bean を使用します。

助けてくれてありがとう。Mojarra 2.1 を使用しています。

入力日.xhtml

InputDateBean.java

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

java - JSF 2 複合コンポーネントが f:ajax で値を更新しない

「変更」ajaxイベントをサポートするJSF 2に複合コンポーネントを実装しようとしています。CC は次のとおりです。


今、私は次の形式でそれを使用しようとしています:

私の知る限り、d1を変更すると d2 と d3 に d1 の値が表示され、 d2 を変更するとd1と d3 の両方もそれに応じて変更されるはずです。
問題は、d2の値を変更すると d3 にのみ反映され、 d1 は空白のままになり、d2を変更すると d1 と d2 が空白のままになることです。

私は Mojarra 2.0.2 を使用しています (私の AS である Google App Engine で 2.0.3 を作ることができませんでした)。複合コンポーネントを構築する方法に欠けているものはありますか? それとも Mojarra 2.0.2 のバグですか?

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

jsf - カスタム コンポーネントと複合コンポーネントの違いは何ですか?

JSF カスタム コンポーネントと Facelets 複合コンポーネントの違いは何ですか?

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

ajax - 複合コンポーネントの子を再レンダリング

f:ajax: を使用して再レンダリングする複合コンポーネントの子コンポーネントを指定する方法はありますか?

私の簡単な実験では、それらを参照することはできないようですが、これを達成するための代替戦略があるかどうか疑問に思いました。

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

jsf - JSF複合コンポーネントのグリッドを作成するにはどうすればよいですか?

panelGridsにoutputLabelとinputTextのペアがたくさんあります

すべてのinputTextに対して同じ検証や同じサイズなど、すべての動作を実行したいと思います。そこで、outputLabelとinputTextだけを含む複合コンポーネントを作成しました

しかし、gridPanelに配置すると、ラベルテキストの長さによっては整列しません。理由はわかりますが、回避方法がわかりません。

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

jsf - CompositeComponentを使用したjavax.el.PropertyNotFoundException?

私は現在、複合コンポーネントを構築しようとしています。これが私のコンポーネントを利用する方法です。


に含めるxmlns:albert="http://java.sun.com/jsf/composite/albert"


そして、これが使用例です


そしてこれはresources/albert/infoButton.xhtmlに配置されるコンポーネントです


しかし、それを実行すると、infoButtonをクリックすると、この例外トレースが私のcatalina.outログファイルに表示されます。


mywebapp.paymentplan.TBrowseBean_ConfirmedRPBで、私はすでにこれを提供しているので、なぜこれが起こっているのだろうか:


その後、ダミーのmapSendInfoSingleRecordフィールドを配置して、何が起こるかを確認しました。


ただし、ボタンをクリックすると、次の例外が発生します。


私はmojarraバージョン2.0.4-b09と2.1.1-b04に対してテストしましたが、同じ結果になりました。


私はここで何を間違えたのだろうか?

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

android - 実行時に作成された複合Androidコンポーネント

挨拶します。私はプロジェクトに取り組んでおり、複合コンポーネントをロールアップすると思いました。それらをxmlでレイアウトし、LinearLayoutを拡張する新しいクラスを作成しました。基本的に、アクティビティにはそのうちの5つか6つが必要です。実行前に必要な数がわからないため、これらをアクティビティ内にプログラムで作成したいと思います。また、以下に含めていないxmlファイルを作成して設定しました。私はこれを行うために私が見つけたそれぞれの方法に問題を抱えています。

これが、LinearLayoutを拡張する私が作成したクラス内のメソッドセグメントです。

そして、アクティビティの中で、これらは私が探しているものに最も近いように見える2つの解決策です。

このメソッドを使用して属性を取得する場所がわからない:

インフレータがこのメソッドでExtendedLinearLayoutを使用するように指定する方法がわかりません。

私はおそらくListViewの使用に落ち着くでしょうが、5〜6個のアイテムには少しやり過ぎのようです。また、以前にFlexを使用したことがあるので、これは少なくとも問題の合理的な解決策のようです

ありがとう、ランドール

- - - - - - - - アップデート - - - - - - - - - -

以下に説明する方法を試しました。すべてを設定すると、InflationException:Binary XML file line#8:Errorinflatingclassが発生します。xmlは問題ないように見えます私が混乱するかもしれない一つのことは、インフレータをどこと呼ぶかです。現在、カスタムクラスのonFinishInflate()とActivityで次のようにインフレータを呼び出しています。

そして、活動では:

ありがとう、そしてあなたが見てみる時間があることを願っています。私はオンラインで調べて物事を理解するのが好きですが、これは昨日の朝から何時間も料理をしてくれました。これをListAdapterにリファクタリングするだけで約2インチ離れています。

- - - - - - - - アップデート - - - - - - - - - -

これがxmlファイルです