Java 在struts2中迭代两个列表
我有两个列表,Java 在struts2中迭代两个列表,java,jakarta-ee,struts2,iterator,nested-loops,Java,Jakarta Ee,Struts2,Iterator,Nested Loops,我有两个列表,selectedFields,其中包含标题(例如:id,username,firstname)和custDetails,其中包含客户详细信息(例如:id,username,firstname,出生日期,地址等)。我想在这里只打印中custDetails的数据,这些数据包含在selectedFields中。如果selectedFields包含username,则只有username值将显示为John,标题将显示为username 您可以使用if和else标记来选择要显示的列。除非您不
selectedFields
,其中包含标题(例如:id
,username
,firstname
)和custDetails
,其中包含客户详细信息(例如:id
,username
,firstname
,出生日期
,地址
等)。我想在这里只打印
中custDetails
的数据,这些数据包含在selectedFields
中。如果selectedFields包含username,则只有username值将显示为John
,标题将显示为username
您可以使用
if
和else
标记来选择要显示的列。除非您不想迭代对象属性
<s:iterator var="sf" value="selectedFields">
<!-- Display only id,username columns from custDetails since selectedFields contains these values -->
<s:if test="#sf == 'id'">
<td><s:property value="id"/></td>
</s:if>
<s:else>
<s:if test="#sf == 'username'">
<td><s:property value="username"/></td>
</s:if>
</s:else>
</s:iterator>
构建要在Java端显示的内容;保持视图层简单。@DaveNewton有可能这样做吗?迭代器太多,你迭代什么?我想迭代custDetails(id、用户名、名字、姓氏、出生日期、地址、城市、州、国家),其中包含3条记录,但只显示包含在所选字段(id、用户名)中的列。custDetails:List selectedFields:ListSure,这是可能的,但很难读取、维护和测试。
<s:iterator var="sf" value="selectedFields">
<!-- Display only id,username columns from custDetails since selectedFields contains these values -->
<s:if test="#sf == 'id'">
<td><s:property value="id"/></td>
</s:if>
<s:else>
<s:if test="#sf == 'username'">
<td><s:property value="username"/></td>
</s:if>
</s:else>
</s:iterator>