2017-09-17 9 views
0

私はc:forEach items = "$ {} JSTLタグについて混乱しています。 カテゴリの項目があり、記事がいっぱいあります。カテゴリ別に記事を表示したいのですが、私はc:forEach items = "$ {categories}"、 "c:forEach items =" $のカテゴリを表示することができます。 {articles}、今では1つのカテゴリに属する​​記事を表示したいと思っています。私はc:forEach items = "$ {categorie.articles}Jstlタグとの混同c:forEach items

DAOImpl

// Articles by category 
    @Override 
    public List<Article> articleParCategorie(Long idCat) 
    { 
     Query req = em.createQuery("select a from Article a where a.categorie.idCategorie=:x"); 
     req.setParameter("x", idCat); 
     return req.getResultList(); 
    } 

コントローラ

// Action for articles by category 
        @RequestMapping(value="/ConsultCat") 
        public String ArtParCat(Long idCat, Model model) 
        { 
         model.addAttribute("categories", metier.listCategories()); 
         model.addAttribute("articles", metier.articleParCategorie(idCat)); 
         return "ArticleParCat"; 
        } 

JSPファイル これは私が試したものですが、それはビューを返しますがありませんカテゴリや記事

<c:forEach items="${categorie.articles}" var="cat"> 
           <div class="col align-center"> 

            <!-- Le nom de la catégorie a partir de la base donnée --> 
              ${cat.article.titre} 

              <!-- La description de la catégorie a partir de la base donnée -->     
              <p>${cat.description}</p> 


           </div> 
           </c:forEach> 
+0

を?それはどこから来たのですか?そのクラスのコードは何ですか? –

答えて

0

両方のコード付きクラスのカテゴリとクラスの記事、ビューListCategoriesのコード(rカテゴリを完全に含む)。

Categorieクラス:

@Entity 
@Table(name="CATEGORIE") 
public class Categorie implements Serializable 
{ 
    @Id 
    @GeneratedValue(strategy=GenerationType.IDENTITY) 
    private Long idCategorie; 
    private String nomCategorie; 
    private String description; 
    private byte [] photoCat; 


    @OneToMany(mappedBy="categorie") 
    private Collection<Article> articles; 

条クラス

@Entity 
@Table(name="ARTICLE") 
public class Article implements Serializable 
{ 
    @Id 
    @GeneratedValue(strategy=GenerationType.IDENTITY) 
    private Long idArticle; 
    private String titre; 
    private String texte; 
    private Date date; 
    private byte [] photo; 

    @ManyToOne 
    @JoinColumn(name="ID_CAT") 
    private Categorie categorie; 

カテゴリのリストが表示: `categorie`が定義されて

<!-- Les catégories --> 
          <div class="flex flex-3"> 

           <c:forEach items="${categories}" var="cat"> 
           <div class="col align-center"> 

            <div class="image round fit"> 

              <!-- L'image de la catégories a partir de la base donnée --> 
              <img src="photoCat?idCat=${cat.idCategorie}"> 
            </div> 
              <!-- Le nom de la catégorie a partir de la base donnée --> 
              ${cat.nomCategorie} 

              <!-- La description de la catégorie a partir de la base donnée -->     
              <p>${cat.description}</p> 



              <!-- Les bouttons supprimer modifier qui devront être visible qu'aux adminisrateurs --> 
              <a href="ConsultCat?idCategorie=${cat.idCategorie}" class="btn btn-default" id="Goto">See more</a> 

              <a href="editCat?idCat=${cat.idCategorie}" class="btn btn-default" id="edit">edit</a>           
              <a href="suppCat?idCat=${cat.idCategorie}" class="btn btn-default" id="delete">delete</a> 






           </div> 
           </c:forEach> 
関連する問題