0

Xpagesのライブラリコントロールに取り組んでおり、作成に助けが必要です。

構成ファイルを読み取り、テーブルにコントロールを作成するコントロール、編集ボックス、チェックボックスグループなどのコントロールを作成します。

だからそして今私の質問に:

Exlibからコントロールを開始できますか、それともすべて自分で実装する必要がありますか?

Exlibからそれらを使用できるとしたら、誰かが私にどのように説明できますか?

そうでない場合は、私が何を意味するのかが明確になっていることを願っています。詳細については私に尋ねてください。

4

1 に答える 1

2

独自のコンポーネントを作成するときに、拡張ライブラリコンポーネントにすでに含まれている動作を厳密に複製する場合は、そのコンポーネントを拡張し、さまざまな機能に対応するために必要なものを追加することを強くお勧めします。これにより、作業がはるかに簡単になり、コンポーネントが配置される可能性のあるすべての小さなシナリオをコーディングする必要がなくなります。

ただし、拡張ライブラリやコアコンポーネントのようなものではないコンポーネントを開発している場合は、コンポーネントがUIComponentまたはUIComponentBaseを拡張していることを確認してください。このルートを使用する場合は、レンダラーを拡張する独自のレンダラーも作成する必要があります。これは、コンポーネントの画面上の表現を構築するものです。繰り返しになりますが、コアコンポーネントまたは拡張ライブラリコンポーネントに必要なものを厳密に模倣するものがすでにある場合は、レンダラーにそのレンダラーを拡張させます。また、faces-configファイルにレンダラー定義を含め、xsp-configファイルにコンポーネント定義を含めることを忘れないでください。そうしないと、コンポーネントが機能しません。

extlibからコントロールを開始することに関しては、実行時にページにコントロールを挿入できるということだと思います。もしそうなら、答えは絶対にイエスです。IDが「someContainer」のコンテナ(つまり、panel、div、spanなど)があるページに入力テキストフィールドを追加するには

XspInputText input = new XspInputText();
input.setValue("someValue");
input.setId("someID");
UIComponent container =  FacesContext.getCurrentInstance().getViewRoot().findComponent("someContainer");
container.getChildren().add(input);

すべてのコアおよび拡張ライブラリコンポーネントのAPIを確認するには、XPagesControlsDocumentationを参照してください。独自のコンポーネントを作成するためのより完全なチュートリアルについては、nsf内にカスタムコンポーネントを作成するための私のブログを参照してください。手順は、ライブラリに配置する場合とほとんど同じです。 パート1パート2、サンプルデータベースがあります。パート2の投稿で。

于 2012-07-03T20:44:41.117 に答える