# Richfaces (Seam/Hibernate): dynamische Eingabefelder



## DerGrinsemann (19. Mrz 2009)

Hallo!

Ich bin noch ziemlich unerfahren mit Richfaces und bin auf der Suche nach einer Lösung für folgendes Problem

Als Beispiel: Ich habe zwei Hibernate-Entities: Person und Phone (Person OneToMany Phone). Nun möchte ich in der Bearbeitungsmaske für eine Person dynamisch Telefonnummern hinzufügen bzw. löschen.

Diese Funktionalität sieht man bei neueren Web-Apps öfters. Mit "+" füge ich neue Eingabefelder (Telefonnummern) hinzu. Mit "-" kann man einzelne Telefonnummern löschen. Die tatsächliche Übertragung erfolgt dann erst im form post.

Wie realisiere ich das? Vielleicht "google" ich auch nach den falschen Begriffen!

Marco


----------



## Rydl (21. Mrz 2009)

wie weit bist du denn schon?

ich würd sowas in der art machen...

```
<a4j:form>
 <a4j:commandButton actionListener="#{personBean.add}" reRender="phoneList" ajaxSingle="true" />
 <s:div id="phoneList">
  <a4j:repeat values="#{personBean.p.phones}" var="ph">
   ...
  </a4j:repeat>
 </s:div>
</a4j:form>
```


```
@Name("personBean")
@Scope(ScopeType.PAGE)
public class PersonBean {

private Person p;
... 
 @Create
 public void init() {
  p = new Person();
 }

 public void add(ActionEvent event) {
  p.getPhones().add(new Phone());
 }
}
```


----------



## Andij (26. Mrz 2009)

Hallo

Das Thema interessiert mich auch. Vor allem habe ich keine Ahnung wie ich das im repeat handhaben soll.

Ich hab mal was in der art probiert.
[highlight=XML]
                <a4j:repeat id="phoneNumberList" value="#playerHome.instance.phoneNumbers}" var="pN">
<a4j:commandButton value="-"/>
<h:inputText id="text" value="#{pN.phoneNumber}"/>
</a4j:repeat>

<a4j:commandButton id="addPhoneNumber" action="#{playerHome.addPhoneNumber}" reRender="phoneNumberList" value="+"/>[/highlight]

Hatte aber nicht viel Erfolg damit.

Ich verwende eclipse, seam, jboss server und hibernate.

Für Hilfe wär ich überaus dankbar.


----------

