任何人都可以帮助我。 我的目的是迭代两个2Dimentional数组
Org_Positions_IdTitle
其中包含a)提升位置的ID和b)他们的标题。 Org_Apps
其中包含a)学生ID和b)提升职位的ID。 所以我想要检查两个数组中的位置Ids是否等于显示位置的标题。非常感谢你的帮助。
ResultSet ResSet_Org_Positions_IdTitle = OrgInfo.Get_Organisation_Positions_IdTitle(username,password);
ResultSet ResSet_Org_Apps = OrgInfo.Get_Organisation_Apps(username,password);
int i=0;
while(ResSet_Org_Positions_IdTitle.next()){
Org_Positions_IdTitle[i][0] = new String(String.valueOf(ResSet_Org_Positions_IdTitle.getInt("P_Ps_Id")));
Org_Positions_IdTitle[i][1]= new String(ResSet_Org_Positions_IdTitle.getString("Title")); i++;
Org_Positions_IdTitle[i][0]= new String("Last");
//System.out.println(i+":"+Org_Positions_IdTitle[i-1][j-1]+Org_Positions_IdTitle[i-1][j]);
}
int m=0; //Org_Apps A_St_Id A_Ps_Id
while(ResSet_Org_Apps.next()){
Org_Apps[m][0] = new String(String.valueOf(ResSet_Org_Apps.getInt("A_St_Id")));
Org_Apps[m][1]= new String(ResSet_Org_Apps.getString("A_Ps_Id")); m++;
Org_Apps[m][0]= new String("Last");
//System.out.println(i+":"+Org_Positions_IdTitle[i-1][j-1]+Org_Positions_IdTitle[i-1][j]);
}
session.put("Org_Positions_IdTitle", getOrg_Positions_IdTitle());
session.put("Org_Apps", getOrg_Apps());
<s:iterator value="Org_Positions_IdTitle" id="P_Ps_Id" >
<s:iterator value="Org_Apps" id="A_Ps_Id" >
<s:if test="%{#P_Ps_Id==#A_Ps_Id} ">
<s:property value="Title" />
</s:if>
</s:iterator>
</s:iterator>
答案 0 :(得分:0)
所以看起来应该是这样的:
<s:iterator value="firstArray" var="arr1">
<s:iterator value="secondArray" var="arr2">
<s:if test="#arr1[0] == #arr2[1]">
<s:property value="#arr1[1]" />
</s:if>
</s:iterator>
</s:iterator>
不要忘记在动作类中需要为数组设置setter / getter。
Struts2标记中的BTWid
属性很久以前就已被弃用,请改用var
。
还要考虑更改代码以使用地图而不是数组。然后就不需要在JSP上进行迭代了。