Vous pouvez utiliser RichFaces faire une telle chose:
<h:form>
<rich:dataList var="city" value="#{myBean.allCity}">
<h:outputText value="#{city.name}" ></h:outputText>
<rich:dataList var="user" value="#{city.users}">
<h:outputText value="#{user.name}" ></h:outputText>
</rich:dataList>
</rich:dataList>
</h:form>
Où Allcity - Liste de la ville, et chaque ville a la liste de l'utilisateur à l'intérieur.
Voir http://livedemo.exadel.com/richfaces-demo/richfaces/dataLists.jsf?c=dataList&tab=usage par exemple.
haricots Sauvegarde:
monBean:
public class MyBean(){
private ArrayList<City> allCity= new ArrayList<City>();
@PostConstruct
public void init(){
//fill Array list
}
public ArrayList<City> getAllCity() {
return allCity;
}
}
Ville:
public class City{
private ArrayList<User> users= new ArrayList<User>();
public City(ArrayList<User> users){
this.users = users;
// you can get data from database in myBean, and pass it hear with cinstructor;
}
public ArrayList<User> getUsers() {
return allCity;
}
}
utilisateur
public class User{
private String name;
//constructor and others fields;
public String getName(){
return name;
}
}
MyBean Seulement vous vous inscrivez en tant que support de haricots. Je vous montre seulement la structure de base de la classe, comment vous le remplir avec des données est votre choix.
Ne pas voir l'image. Peut-être juste un lien vers celui-ci? – Drew