2011-05-30 14 views
4

私の春のWebアプリケーションでは、JSPの表形式で表示するモデル属性にarraylistがあります。私は2つの列にリスト項目を動的に配置する必要があります。以下は1つの列しか作成しないコードですが、2つの列に奇数のペアを配置する必要があります。arraylistの項目のjspで動的表を作成

<table> 
    <c:forEach items="${artifact.answerOptions}" var="answeroption" varStatus="status"> 
    <tr> 
     <td> 
     <form:radiobutton path="choosenAnswers" value="${answeroption}"/> 
    <label for="choosenAnswers" class="lowerlabel"><c:out value="${answeroption.answerText}"/></label> 
     </td> 
    </tr> 
    </c:forEach> 
    </table> 

ここで、answerOptionsはanswerTextプロパティを持つAnswerOptionビーンのリストです。上記のコード は、表を作成しますが、1つの列を持つが、私は彼らが以下のようにしても奇数的に配置する必要があります。

<table> 
    <tr> 
    <td> List Item 1</td> 
    <td> List Item 2</td> 
    </tr> 
    <tr> 
    <td> List Item 3</td> 
    <td> List Item 4</td> 
    </tr> 
    <tr> 
    <td> List Item 5</td> 
    <td> List Item 6</td> 
    </tr> 
</table> 

答えて

4

代わりにbegin,endおよびstep属性を使用してください。 2回繰り返すことで、リスト項目を直接インデックスで取得できます。

<table> 
    <c:forEach begin="0" end="${fn:length(artifact.answerOptions)}" step="2" varStatus="loop"> 
    <tr> 
     <td>${artifact.answerOptions[loop.index]}</td> 
     <td>${artifact.answerOptions[loop.index + 1]}</td> 
    </tr> 
    </c:forEach> 
</table> 

+0

解決してくれてありがとう、私は同じものを探していた。 –

+0

ようこそ。あなたがここでは新しいので、問題を解決するのに(大部分の)役立っていれば、受け入れられた答えに印を付けることを忘れないでください。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235も参照してください。 – BalusC

0

それはあなたが唯一のanswerOptionsオブジェクトにアクセスする必要があります一度イテレータでは原因ではありません私の知る限り2ではなく、このようにフォーマットすることはできません。

+0

へのアクセスを可能にする任意のtaglibなどの上に示された方法でリスト項目を、配置する別の方法があります(あなたが項目の奇妙な量を持っている場合いいえ、これはArrayIndexOutOfBoundsExceptionをスローしません)リスト内の奇妙な要素でさえ? –

+0

@Sunil:タグライブラリをあまり気にしていないので、何かが利用可能かどうかを正しく伝えることはできません。 –

関連する問題