2011-03-20 1 views
0

Je suis en train d'afficher la valeur de deux tables Activites et favoris à l'aide struts2 et mise en veille prolongée one-to-manyStruts2 mise en veille prolongée one-to-many 1323

 //Activities 
     @Entity 
     @Table(name="ACTIVITIES") 
     @OneToMany(fetch = FetchType.EAGER, mappedBy = "activities" , targetEntity=Favorites.class, cascade=CascadeType.ALL) 
      public Set<Favorites> getFavorites() { 
       return favorites; 
      } 
      public void setFavorites(Set<Favorites> favorites) { 
       this.favorites = favorites; 
      } 

     @Id 
      @GeneratedValue 
      @Column(name="ACTIVITYID") 
      public Long getId() { 
       return id; 
      } 
      public void setId(Long id) { 
       this.id = id; 
      } 


     //Favorites 
     @Entity 
     @Table(name="Favorites") 
     @ManyToOne(optional=false) 
      public Activities getActivities() { 
       return this.activities; 
    } 

et d'autres domaines

En jsp :

<s:iterator value="activityList" id="activityList" status="activityStatus" <s:hidden id="activityList" name="activityList[%{#activityStatus.index}].id" />       
<s:iterator value="favorites" var="fav" status="myStat">               
<s:checkbox id="accFavorities" name="accFavorities"/></td>  
<s:iterator> 

mais quand je reçois soumettre id de la table d'activité mais le tableau non valeurs de favoris qui est la case à cocher.

Dans ma classe d'action

for (Activities al : activityList) { 
    for (Favorites ss : al.getFavorites()) { 
     System.out.println(ss.getCompany()); 
     System.out.println(ss.getAccFavorities()); 
      } 
    } 

En jsp j'ai essayé quelque chose comme ceci ci-dessous dans ce cas, la valeur de la base de données elle-même ne comming

<s:iterator value="%{favorites}" id="fav" status="myStat"> 
<s:checkbox id="accFavorities" value="activityList[%{#activityStatus.index}].fav[%{#myStat.index}].accFavorities"/></td> 

Toute aide est vraiment apprécié.

grâce

Répondre

0

Vous devez définir votre case à cocher pour que lorsque le navigateur envoie le formulaire, les noms de paramètres correspondent à la structure de haricot attendue.

Peut-être que vous pouvez essayer l'attribut « clé » comme indiqué dans http://struts.apache.org/2.2.1/docs/struts-2-form-tags.html#Struts2FormTags-Struts2CheckboxTag

+0

Merci, mais je suis un peu un problème avec OneToMany (itérateurs imbriqués) et moi avons mentionné l'exemple de http://stackoverflow.com/questions/2327466/struts-2-nesting-itérateurs – Vallaru

Questions connexes