0

JSTL を使用してサブカテゴリ メニューを表示しようとすると問題が発生します。

開発中のサイトの CSS リスト メニュー タイプがあります。メニュー カテゴリの名前は、主キーを使用してデータベースに作成され、サブメニューもデータベースに作成され、主キーと (外部キー = "category") を持ちます。このメイン メニューを取得して表示することはできましたが、ユーザーがメイン メニューをホバーしたときにサブメニューを表示する方法がわかりません。

現在使用されているコード:

//<div id='cssleftNav'>
     <ul>
         <c:forEach var = "category" items="${categories.rows}">
         <li class='has-sub'>                                            
         <a href="category?${category.id}"><span>${category.name}
         </span></a>            
         <ul>                                               
             <c:forEach var = "subcategory" items="${subcategories.rows}">
             <li>
                <a href="category?${subcategory.id}"><span>${subcategory.name}
                </span<</a>
             </li>
             </c:forEach>
         </ul>
         </li>
        </c:forEach> 
  </cssleftNav

助けてください。私はしばらくこれに取り組んできました。

4

1 に答える 1

0

あなたのデータモデルは奇妙です。あなたは緩ん${categories}${subcategories}いて、何らかの形で互いに参照されていないようです.

それらが相互に参照していることを確認する必要があります。最終的には、次のようになります。

<ul>
    <c:forEach items="${categories}" var="category">
        <li>
            <a href="category?id=${category.id}">${category.name}</a>
            <ul>
                <c:forEach items="${category.categories}" var="subcategory">
                    <li>
                        <a href="category?id=${subcategory.id}">${subcategory.name}</a>
                    </li>
                </c:forEach>
            </ul>
        </li>
    </c:forEach>
</ul>

これには、次のようなモデルが必要です。

public class Category {

    private Long id;
    private String name;
    private List<Category> categories;

    // ...
}

ちなみにプロパティを持つことrowsも奇妙です。は、DB から取得した${categories}単なる である必要がList<Category>あります。

于 2013-02-04T03:09:13.970 に答える