重複の可能性:
動的 JSF 1.2 フォーム フィールドの作成方法
「追加」ボタンをクリックするたびに、(テキストボックス、ドロップダウンメニュー) などのフォーム要素のセットを追加できる機能が必要です。コンポーネントの横にある「削除」ボタンをクリックすると、ページから削除する必要があります。この機能は、Java で必要でした。誰でもこれについて助けることができますか?
重複の可能性:
動的 JSF 1.2 フォーム フィールドの作成方法
「追加」ボタンをクリックするたびに、(テキストボックス、ドロップダウンメニュー) などのフォーム要素のセットを追加できる機能が必要です。コンポーネントの横にある「削除」ボタンをクリックすると、ページから削除する必要があります。この機能は、Java で必要でした。誰でもこれについて助けることができますか?
これは実用的な例です。要件に応じて独自のコードを実装する必要があります。
ページに を追加してtextBox
から、 のような反復可能なコンポーネントを使用するかui:repeat
、複数のコンポーネントを作成します。a4j:repeat
c:forEach
<h:form id="test">
<ui:repeat value="#{myBean.myObjects}" var="obj">
<h:inputText value="#{obj.text}" />
<h:commandButton action="#{myBean.remove(obj)}" value="Remove"/><br/>
</ui:repeat>
<br/>
<h:commandButton action="#{myBean.add()}" value="Add"/>
</h:form>
マネージド Bean のgetMyObjects()
メソッドは、アイテムを追加するリストを返す必要があります。
public class MyBean {
private List<MyObject> objs = new ArrayList<MyObject>();
public List<MyObject> getMyObjects() {
return objs;
}
public void remove(MyObject t) {
objs.remove(t);
}
public void add() {
objs.add(new MyObject());
}
public class MyObject {
private String text;
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
}