0

こんにちは、私はまだ XPages 用の独自の Java コントロールを開発しようとしています。既存のコントロールを使用して新しいコントロールで使用する方法を知りたかったのです。

ログインポップアップコントロールのようなものを開発したいとしましょう。UIDialog を拡張しましたcom.ibm.xsp.extlib.component.dialogが、どうすれば追加できxp:inputTextますか?

この例では、xp:callbackファセットをマークアップ セクションに追加できるcontrol.xsp-configので、標準コントロールのようにいくつかの入力フィールドをドラッグする必要がありますが、更新サイトで展開できる 1 つのコントロールだけにしたい場合はどうすればよいでしょうか.

アップデート:

わかりました、あなたのソリューション keithstric を試してみました。コンポーネントで直接作業していると思います。コンポーネントに e レンダラーを使用しています。コンポーネントをレンダラーで追加するか、コンポーネントに直接追加すると、コンポーネントツリーに違いがあります:

レンダラー:

public class MyRenderer extends Renderer {

public void encodeBegin(FacesContext context, UIComponent component)throws IOException {
    ResponseWriter w = context.getResponseWriter();
    NewComponentXY comp = new ComponentXY();
    component.getChildren().add(comp);
}

または直接:

public class MyComponent extends UIComponentBase {

    public void encodeBegin(FacesContext context, UIComponent component)throws IOException {
        ResponseWriter w = context.getResponseWriter();
        NewComponentXY comp = new ComponentXY();
        this.getChildren().add(comp);
    }

jsf ライフサイクルに違いはありますか?

4

1 に答える 1