2

と という名前のオブジェクトのリストがありallAlbumsますallPhotos。各アルバムのすべての写真を表示したいので、次の方法を使用しました。私のコードは

<s:iterator value="allAlbums">
  <s:iterator value="allPhotos">
    <s:if test="%{#allAlbums.albumid == #allPhotos.albumid}">
      <s:property value="photourl"/>
    </s:if>
  </s:iterator>                             
</s:iterator>

しかし、それは機能していません。私が間違っていることは何ですか?

4

2 に答える 2

5

両方のオブジェクトに適切なゲッター/セッターがあることを確認してください。そうすれば、プロジェクションと呼ばれるOGNLが提供する機能を使用できます。

<s:iterator value="allAlbums" var="album">
  <s:iterator value="allPhotos.{? #this.albumid == #album.albumid}">
      <s:property value="photourl"/>
  </s:iterator>                             
</s:iterator>
于 2013-01-01T15:37:58.050 に答える
2

間違ったオブジェクトを参照しています。参照するレコードの属性を定義し、var代わりに参照します。

<s:iterator var="album" value="allAlbums">
  <s:iterator var="photo" value="allPhotos">
    <s:if test="#album.id == #photo.albumId">
      <s:property value="photoUrl"/>
    </s:if>
  </s:iterator>                             
</s:iterator>
于 2013-01-01T10:21:59.587 に答える