2

レンダリングするテキスト ボックスの数をエンド ユーザーが入力する必要があるテキスト ボックスがあります。入力した数に基づいて、テキスト ボックスの数を行形式で動的にレンダリングする必要があります。

また、新しくレンダリングされた行形式のテキスト ボックスでは、入力された値は、次のページに移動するときに正しいバッキング Bean で識別される必要があります。

どこから始めるべきか、またはこのようなことを達成する方法について何か提案はありますか?

4

1 に答える 1

3

<h:inputText>エンドユーザーに入力を求めるために使用できます。

<h:inputText value="#{bean.number}" />

<h:commandButton>ユーザーがフォームを送信できるようにするために使用できます。

<h:commandButton value="Submit" action="#{bean.submit}" />

List<T>アイテムのコレクションを持つために使用できます。

private List<Item> items;

public void submit() {
    items = new ArrayList<Item>();

    for (int i = 0; i < number; i++) {
        items.add(new Item());
    }
}

行に表示するために使用できます<h:dataTable>

<h:dataTable value="#{bean.items}" var="item">
    <h:column>
        <h:inputText value="#{item.value}" />
    </h:column>
</h:dataTable>

送信された値はitems.

于 2012-12-10T11:47:01.903 に答える