日期:2014-05-17  浏览次数:21042 次

如何在JSP页面中,把数组中的TreeSet中的实体存储地址变成实体对象
首先,感谢大家抽时间看我这问题.
之前我在另外发,可是没人应:http://ask.csdn.net/questions/57091/edit
问题阐述:
     我在做Spring Hibernate和struts整合的实验,之前,我在Action类中已经将要放在页面中的数据,传到JSP页面中,以下是Action类的代码:
   

     /**
          * 显示所有的商品分类 *
          * 
          * @return
          */
         public void showAllCategory() {
         try {
         List<CategoryDTO> resultList = this.categoryService.showAllCategory();
         this.getRequest().put("initCategoryList", resultList);
         } catch (Exception e) {
         e.printStackTrace();
         }
         }

以下是categoryDTO中的类属性

    /**
      * 类别编号
      */
     private Long id;
    
     /**
      * 类别名称
      */
     private String name;
    
     /**
      * 商品集合
      */
     private Set<ProductQueryDTO> products = new HashSet<ProductQueryDTO>();
    
     /**
      * 子类别
      */
     private Set<CategoryDTO> categories = new TreeSet<CategoryDTO>();


由于我想弄个导航条,如:家电->电冰箱
所以想在JSP页面中用foreach来循环打印出所有商品,不知道我说的够不够明白,欢迎追问.
问题来了,我先上JSP页面的代码


    <c:forEach items="${requestScope.initCategoryList}" var="categoryDTO" varStatus="vs">
     <ul>
     <a ><strong>${categoryDTO.name }</strong></a>
     <c:forEach items="${categoryDTO.categories } " var="category" varStatus="vs1">
     <li><a >${category}</a></li>
     </c:forEach>
     </ul>
     </c:forEach>

但是,我只能把最基本的父类的商品种类打印出来,而家电下面则显示实体DTO的物理地址,可以看以下图
![CSDN移动问答][1]
我想问,怎样才能把这个子种类中的种类名字弄出来?${category.name}会报错.


我目前是这样的
![CSDN移动问答][2]


  [1]: http://img.my.csdn.net/uploads/201403/10/1394439687_2814.png
  [2]: http://img.my.csdn.net/uploads/201403/10/1394439837_7267.png
------解决方案--------------------
  ssh都整合了页面为什么不用struts的iterator标签,,,这样岂不是更简单---直接从 值栈中去多省事的。。。
------解决方案--------------------
${category.name}这个会报错?只要你的实体有getName方法就没问题