Struts2 从strut2迭代器获取多个值

Struts2 从strut2迭代器获取多个值,struts2,iterator,hibernate3,multiple-value,Struts2,Iterator,Hibernate3,Multiple Value,我不熟悉struts。我不知道我的问题解决方案是否正确。 我的问题是我有两个表,如下所示 我想基于上述表格创建一个HTML表格,显示字段、组名称、组id、子组名称和子组id。我尝试使用列表和迭代器。但我无法同时获取两个值(名称和id) 班内 public List getName() { return namesHead; } public void setName(List name) { this.namesHead = name; } public String li

我不熟悉struts。我不知道我的问题解决方案是否正确。 我的问题是我有两个表,如下所示

我想基于上述表格创建一个HTML表格,显示字段、组名称、组id、子组名称和子组id。我尝试使用列表和迭代器。但我无法同时获取两个值(名称和id)

班内

public List getName() {
    return namesHead;
}

public void setName(List name) {
    this.namesHead = name;
}

public String listModules() {
    SessionFactory factory = HibernateLoginUtil.getFactory();
    Session session = factory.openSession();
    Query q1 = session.createQuery ("select id,name FROM TableUsrModuleGroup WHERE stat='active'");
    for(Iterator it = q1.iterate() ; it.hasNext() ;) {
         Object row[] = (Object[]) it.next();
         namesHead.add (row[1]); //put the name
    }   
    return SUCCESS;
}
在JSP页面中

<table>
  <s:iterator  status="status" value="namesHead" >   
  <tr><td><s:property/></td></tr>
  </s:iterator>
</table>


(从上面的代码中只能得到组名,我需要显示组名、组Id、子组名和子组Id)

如果您使用Hibernate,我认为最简单的选择是映射这两个类,然后通过HQL查询恢复它们。例如:

public class Group {
    @OneToMany (mappedBy = "group", fetch = FetchType.LAZY)
    private Collection <SubGroup> subgroup;
    ... // Rest of the class, getters and setters
}

public class SubGroup {
    @ManyToOne (fetch = FetchType.LAZY)
    private Group group;
    ... // Rest of the class, getters and setters
}
然后在操作中设置子组的属性,然后在jsp中访问它们

<table>
   <s:iterator  value="subgroups" >   
   <tr>
      <td>
          <s:property value="name"/>
      </td>

      <td>
          <s:property value="id"/>
      </td>

      <td>
          <s:property value="group.name"/>
      </td>

      <td>
          <s:property value="group.id"/>
      </td>
   </tr>
   </s:iterator>
</table>


我希望它能帮助=)

从数据库中获取对象,而不是特定字段。您的操作中必须有该对象的getter和setter,然后在JSP中可以获得该对象的所有属性(不要忘记该对象的setter/getter)

<table>
   <s:iterator  value="subgroups" >   
   <tr>
      <td>
          <s:property value="name"/>
      </td>

      <td>
          <s:property value="id"/>
      </td>

      <td>
          <s:property value="group.name"/>
      </td>

      <td>
          <s:property value="group.id"/>
      </td>
   </tr>
   </s:iterator>
</table>