2011-01-27 8 views
0

私は、同時に3つのリストを繰り返し処理するという要件をjstlに持っています。我々はjstlの複数のアイテムの反復

<c:forEach var = "mfgn" items = "${requestScope.mfgNumber}" varStatus = "status"> 
    do something; 
</c:forEach> 

を使用する単一のリストを反復処理するために私は

<c:forEach var = "mfgn" var = "issue" items = "${requestScope.mfgNumber}" items = "${requestScope.something" varStatus = "status"> 
    mfgNumber;  
</c:forEach> 

のようないくつかのことを行う必要があり、同時に複数のリストを反復処理するotherwayが、この可能ですか。

答えて

8

彼らは同じ大きさを持っている場合、それはList<Integer>List<String>があると仮定して、2つのオプションがあります。

  1. 順番に互いのリストの項目をrepesentsエンティティと単一のリストにそれらをマージList<ManfacturerIssue>のような単一のクラスで、ManfacturerIssueInteger numberString issueのプロパティを含むjavabeanクラスです。この方法は、あなたがやって終わることができ:インデックスで

    <c:forEach items="${mfgIssues}" var="mfgIssue"> 
        ${mfgIssue.number}, ${mfgIssue.issue} 
    </c:forEach> 
    
  2. 反復ではなく、これは(記入)などが醜いとunmaintainableです:

    <c:forEach begin="0" end="${fn:length(mfgNumbers) - 1}" varStatus="loop"> 
        ${mfgNumbers[loop.index]}, ${issues[loop.index]} 
    </c:forEach> 
    
+0

は、それは 'としてこれを書くことが可能ですジェネリック関数? http://stackoverflow.com/questions/27201778/writing-custom-functions-in-jstlのようなもの –

関連する問題