Struts2 从strut2迭代器获取多个值
我不熟悉struts。我不知道我的问题解决方案是否正确。 我的问题是我有两个表,如下所示 我想基于上述表格创建一个HTML表格,显示字段、组名称、组id、子组名称和子组id。我尝试使用列表和迭代器。但我无法同时获取两个值(名称和id) 班内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
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>