数据访问查询的代码public List<Object[]> findSysDepartmentById(int id) {
String hql="select e.sn,e.name,p.nameCn,d.name,e.status from SysEmployee e,SysPosition p,SysDepartment d where e.sysDepartment.id=? and e.sysDepartment.id=d.id and e.positionId=p.id";
List<Object[]> list=getSession().createQuery(hql).setInteger(0, id).list();
return list;
}
上面没问题////看吓面Jsp----struts2<s:iterator>标签代码
这里面的obj是一个List<Object[]><s:iterator value="obj">
                  <tr>
                   <td><s:property value="sn"/></td>
                   <td><s:property value="name"/></td>
                   <td><s:property value="nameCn"/></td>
                   <td><s:property value="name"/></td>
                   <td><s:property value="status"/></td>
                  </tr>
                  </s:iterator>
以上就是我自己写的 就是在页面显示不出来结果

解决方案 »

  1.   

    <s:iterator value="obj">obj?、
      

  2.   

    貌似不行,你把Object[]改为HashMap把。。
    Map<String,String> map = new HashMap<String,String>();
    map.put("id","100");
    map.put("name","xxx");
    list.add(map);
    request.setAttribute("list",list);<s:iterator id="list" value="#request.list">
    <s:property value="#list.id"/>
    <s:property value="#list.name"/>
    </s:iterator>
      

  3.   

    这里面的obj是一个List<Object[]>
      

  4.   

    你看Hql 我那个是三表连接查询出来结果存放在List<Object[]>里面....如果用HashMap就不好稿了
      

  5.   

    你返回的是list, 如果你action里定义了list. 那么你的Object应改为list<s:iterator 还有。你的标签运用也是错误的,如果感觉iterator不好用,
    那用 <c:forEach var="newsArea" items="${newsAreaList}"> 好了items是集合  var 是实体对象。
      

  6.   

    你好,问下你的value="obj" 保存到request里没,如果没有保存设置obj到request.setAttribute("obj", list);
    如果保存后的话,就这样取试下。  <s:iterator value="#request.obj[0]">
         <s:property />
       </s:iterator>
      

  7.   

    如果你list<Object[]>还可以这样 根据下标取值
    <s:iterator value="#request.obj" var="entity">
         <s:property value="#entity[0]"  />
         <s:property value="#entity[1]"  />
       </s:iterator>
      

  8.   

    LS们的说的方法我都用过了都没用....8楼说的没看到我那个定义的意思是那个obj是从action那边来 的..也就是说obj存放在会值栈里面的....
      

  9.   

    Struts2的标签不知道,jstl表示没鸭梨
      

  10.   

      知道 如果你的obj保存在值栈里那就这样取不行吗?
    <s:iterator value="list" var="entity">
       <s:property value="#entity[0]"  />
    ...
       </s:iterator>
      

  11.   

     如果obj存在值栈里的话,这样不行吗?
    <s:iterator value="obj" var="entity">
        <s:property value="#entity[2]"  />
    .....
    </s:iterator>
    PS: 我以前做过的,应该可以的,你在调试下,不行在联系...
      

  12.   

    private List<Object[]> list;
    public void setList(List<Object[]> list) {
    this.list = list;
    }
    public List<Object[]> getList() {
    return list;
    }
    public List<Object[]> findSysDepartmentById(int id) {
            String hql="select e.sn,e.name,p.nameCn,d.name,e.status from SysEmployee e,SysPosition p,SysDepartment d where e.sysDepartment.id=? and e.sysDepartment.id=d.id and e.positionId=p.id";
            list=getSession().createQuery(hql).setInteger(0, id).list();
            return list;
        }<s:iterator id="objects" value="list" status="status" ><s:property value="#objects[0]" />
      

  13.   

    action代码:private List<Object[]> list;
    public void setList(List<Object[]> list) {
     this.list = list;
     }
     public List<Object[]> getList() {
     return list;
     }
    public String excute() throws Exception {
    list = findSysDepartmentById(id);
                 return "list";
    }
    页面:
    <s:iterator id="objects" value="list" status="status" ><s:property value="#objects[0]" />
      

  14.   

    谢谢15楼的  就是这样写的
     
    <s:iterator value="obj" id="object"> 
                      <tr>
                       <td><s:property value="#object[0]"/></td>
                       <td><s:property value="#object[1]"/></td>
                       <td><s:property value="#object[2]"/></td>
                       <td><s:property value="#object[3]"/></td>
                       <td><s:property value="#object[4]"/></td>
                       <td>
                       </tr>
    </s:iterator>
      

  15.   

    已经  
        结  帖thx