现在做项目遇到一个问题,我数据库中有两个表,相册表albuminfo和照片表photoinfo,相册表不是照片表的外键,但他们通过一个字段关联albuminfo.id和photoinfo.albumid,我想展示相册时,使用与之对应的图片中的第一张照片,怎么实现?
通过用户或得了该用户的相册集合albumSet和照片的集合photoSet
我在页面中这样写的
<s:iterator  value="albumSet" var=a>
       <s:iterator value="photoSet" var="p">
              <s:if test="#a.id==#p.albumid">
                        <img src="${pageContext.request.contextPath}/upload/${p.photourl}"
              </s:if>
      </s:iterator>
</s:iterator>
这样写出错,请问高手怎么解决这个问题,实现这种效果,谢谢大家了!

解决方案 »

  1.   

    <s:iterator value="albumSet" var=a>
      <s:iterator value="photoSet" var="p">
      <s:if test="#a.id==#p.albumid">
    albumSet  (#a.id) 
     是哪里的值啊?
      

  2.   

    albumSet     (#a.id) 就是相册表albuminfo表中得主键id啊,有什么不明白的尽管问啊
      

  3.   

    用#p.first获得第一张照片呢?iterator标签中具有一些方法: 
      boolean isEven() 当前迭代元素索引是否为偶数; 
      boolean isOdd()  当前迭代元素索引是否为奇数; 
      boolean isLast() 是否为最后一条元素; 
      boolean isFirst()是否为第一条元素
      

  4.   

    <s:iterator value="albumSet" id="a">
      <s:iterator value="photoSet" id="p">
      <s:if test="#a.id==#p.albumid">
      <img src="<s:property value="pageContext.request.contextPath"/>/upload/<s:property value="p.photourl"/>"
      </s:if>
      </s:iterator>
    </s:iterator>
      

  5.   


    #p.first我要获取每个相册下的第一张照片,应该是该照片的路径,如果是#p.first.photourl好像不行吧
      

  6.   


    <s:iterator value="albumSet" id="a">
      <s:iterator value="photoSet" id="p">
    <s:if test="#p.first">
      <img src="<s:property value="pageContext.request.contextPath"/>/upload/<s:property value="p.photourl"/>"
      </s:if>
      </s:iterator>
    </s:iterator>