春天的mvc类树

时间:2012-11-15 13:24:18

标签: java spring jsp spring-mvc

我有类别树。我的类别有n个子类别。如何在jsp上列出递归类别?

List<Category> categories = categoryService.findAll();
modelMap.put("categories",categories)

1 个答案:

答案 0 :(得分:0)

使用JSTL,尝试这样的事情:

简单的项目清单

<c:forEach var="category" items="${categories}">
   ${category.id} -> ${category.name}
</c:forEach>

嵌套项目列表

如果您有嵌套类别,请尝试以下自定义标记。

public class CategoryDisplayTag extends TagSupport
{
   public int doStartTag() throws JspException
   {
      Category rootCategory = new Category();

      printEachCategory(rootCategory);

      return SKIP_BODY;
   }

   private void printEachCategory(Category category)
   {
      JspWriter out = pageContext.getOut();

      try
      {
         out.write("Category: " + category.getName());

         for (Category c : category.getCategories())
         {
            out.write("Sub-category: " + c.getName());
            printEachCategory(c);
         }
      }
      catch (IOException e1)
      {
         throw new RuntimeException(e1);
      }

   }  
}