使用struts 2标记在jsp中迭代两个数组

时间:2013-04-22 10:31:29

标签: struts2

任何人都可以帮助我。 我的目的是迭代两个2Dimentional数组

  1. Org_Positions_IdTitle其中包含a)提升位置的ID和b)他们的标题。
  2. Org_Apps其中包含a)学生ID和b)提升职位的ID。
  3. 所以我想要检查两个数组中的位置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> 
    

1 个答案:

答案 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标记中的BTW id属性很久以前就已被弃用,请改用var

还要考虑更改代码以使用地图而不是数组。然后就不需要在JSP上进行迭代了。