0

JSF2.0 コンポーネントを Java クラスや Renderer クラスなどとして作成しています。出力の一部を xhtml のように書き込めません

<h:outputText ... />

要素が動的に生成されるためです。

  1. そのため、「ボタン/リンク/テキストコンポーネントには、その祖先にフォームが必要です。追加してください。」というメッセージが表示されます。以下に、現在フォームをレンダリングする方法を示します。これも正しいですか?または、警告を消すために何かを変更する必要がありますか?

    private void encodeForm(Element elem) throws IOException {
        //ResponsWriter writer
        writer.startElement("form", form);
        encodeChildren(elem);
        writer.endElement("form");
    }
    
  2. 実行時に作成された変数 (つまり、リスト内のオブジェクト) に入力フィールドを接続することは可能ですか? はいの場合、どのように?いいえの場合: decode() メソッドを実装する必要がありますよね?
  3. そのようなフォームを送信するボタンをどのようにレンダリングすればよいですか? たとえば、コンポーネントのメソッドを呼び出して、何らかの方法で (decode-method のように?) ユーザー入力を処理できるようにする必要があります。

助けてくれてありがとう!

4

1 に答える 1

2

これも正しいですか?または、警告を消すために何かを変更する必要がありますか?

あなたの最善の策は、あなたが示したコードを削除し、そのコンポーネントのユーザーにそれをフォーム内に配置するよう依頼することです.

とにかく、あなたがやっていることはフォームのマークアップを書くことです。これは、実際にフォーム コンポーネントをツリーに配置することとは別のものです。

于 2012-05-26T14:00:53.087 に答える