Jsp 检查<;中arraylist中的stat.count值;迭代器>;struts 2的标签 //ArrayList值可以是2,3,5,9 //如果arraylist(SelectedIndex)中存在stat.count值,则转到if循环

Jsp 检查<;中arraylist中的stat.count值;迭代器>;struts 2的标签 //ArrayList值可以是2,3,5,9 //如果arraylist(SelectedIndex)中存在stat.count值,则转到if循环,jsp,struts2,Jsp,Struts2,您尝试过索引和计数属性了吗。下面是显示示例的示例 <% System.out.println("These indexed shall be shown on gui "+(ArrayList)request.getSession().getAttribute("selectedIndexes")); %> // ArrayList value can be 2,3,5,9 <s:iterator var="itr" value="#session.completeA

您尝试过索引和计数属性了吗。下面是显示示例的示例

<% System.out.println("These indexed shall be shown on gui "+(ArrayList)request.getSession().getAttribute("selectedIndexes")); %>   // ArrayList value can be 2,3,5,9

  <s:iterator var="itr" value="#session.completeArrayList" status="stat">
 <s:if > //if stat.count value present in arraylist(selectedIndexes), then go to if loop
 </s:if

</s:iterator>

索引:
计数:
将打印

索引:0 计数:1 索引:1 计数:2
  <s:iterator status="status" value='%{0, 1}'>
      Index: <s:property value="%{#status.index}" /> <br />
      Count: <s:property value="%{#status.count}" /> <br />  
   </s:iterator>
我在selectedIndexes ArrayList中找到了#stat.count
如果您已经拥有所有元素的列表,以及包含选定元素的子列表,则可以使用映射:

<s:iterator var="itr" value="#session.completeArrayList" status="stat">
  <s:iterator var="ind" value="#session.selectedIndexes">
    <s:if test="#stat.count == #ind">
      I found #stat.count in selectedIndexes ArrayList
    </s:if>
  </s:iterator>
</s:iterator>
如果取而代之的是SelectedIndex在ArrayList中存储元素的索引(而不是值)

completeArrayList:{“a”、“b”、“c”、“d”、“e”、“f”}

所选索引:{2,3}

您可以像这样
获取它们:

<s:iterator var="currentElement" value="#session.selectedIndexes" >
   <s:property value="#session.completeHashMap[#currentElement]" />
</s:iterator>
<s:iterator var="currentElement" value="#session.selectedIndexes" >
   <s:if test="%{#session.completeArrayList.contains(#currentElement)}">
      Selected Index with value 
      <s:property value="#currentElement" /> 
      found on bigList
   </s:if>
</s:iterator>

Struts2使用并且在
操作符中有
。因此,您可以这样轻松地进行检查:

<s:iterator var="currentElement" value="#session.selectedIndexes" >
   <s:property value="#session.completeArrayList[#currentElement]" />
</s:iterator>


我已经检查过了,但我不知道如何检查Arraylist(存储在会话中)中的计数,基本上我在寻找循环中Arraylist的contains方法这是可以的…如果completeArrayList的大小是m,SelectedIndex的大小是n,那么的总迭代数是m*n…struts 2是否提供了类似If的东西(selectedIndexes.contains#stat.count)?您想要实现什么?也许甚至不需要迭代数组。
<s:iterator var="itr" value="#session.completeArrayList" status="stat">
  <s:if test="#stat.count in #session.selectedIndexes">
  </s:if
</s:iterator>