2017-03-16 6 views
0

私はforEachに属しており、forEachループ要素として、比例IDを持つ要素(listName)を取得したいと考えています。JSTLのリストから要素を取得するにはどうすればよいですか?

<% i=0; %> 
<c:forEach var="account" items="${ctx.model.accounts}"> 
    <c:out value="${listName.get(${i})}" /> 
    <% i++; %> 
</c:forEach> 

これは可能ですか?

私は${listName.get(${i})}が間違っていることを意味しますが、どうすれば入手できますか。

答えて

2

これを達成するためにスクリプトレットは必要ありません。

<c:forEach var="account" items="${ctx.model.accounts}" varStatus="loopStatus"> 
    <c:out value="${listName[loopStatus.index]}" /> 
</c:forEach> 

しかし、2つの並行リストがあるということは、IMHOの匂いです。なぜ、各要素がアカウントとlistnameの対応する要素へのアクセスを許可する単一のリストを持っていないのですか?

+0

そこに私はsuper()で新しいモデルクラスを作成する必要があります。単一のプロパティを追加してください... – y07k2

+0

しかし、ええ、あなたのソリューションは正しいので、感謝! – y07k2

1

${listName[i]}は、listNameの要素を提供します。

詳細はGet specific element in a list or array using ELを確認してください。

+0

警告: 'プロパティまたはメソッド 'i'(動的プロパティ?)を解決できません。 ' – y07k2

+1

JBによって提案されているように' varStatus'を使うのが良いです。 – xyz

関連する問題