我正在使用ui:repeat标记渲染图像.我有五个图像,我想在每次迭代时,我的图像得到ID像image1,image2,image3 .... imagen.我试过这个,但它没有用.
<div id="imageGallery">
<ui:repeat value="#{countryPages_Setup.images}" var="image" varStatus="status">
<tr>
<td>
<a href="javascript:void()" class="launchLink">
<p:graphicImage id="image#{status.index}" //problem
value="/resources/images/#{image}"
width="100"
height="100"
rendered="#{countryPages_Setup.renderImages}"/>
</a>
</td>
</tr>
</ui:repeat>
</div>
Run Code Online (Sandbox Code Playgroud)
我也试过{staus.index + 1}.我也试过id = image#{1 ++}但它也没有用.我该怎么做?
谢谢
Bal*_*usC 10
您可以在id属性中使用EL ,但必须在视图构建期间使用它.所述<ui:repeat>然而运行视图中呈现时,它会重复使用相同的<p:graphicImage>,以产生多个HTML <img>元素.它不会在视图构建期间运行,因此id遗留下来image.
如果更换<ui:repeat>的<c:forEach>,那么它会工作,你intented.该<c:forEach>视图中建立运行时间,它会生成多个<p:graphicImage>,这将随后分别获得仅呈现一次的部件.
<div id="imageGallery">
<c:forEach items="#{countryPages_Setup.images}" var="image" varStatus="status">
<tr>
<td>
<a href="javascript:void()" class="launchLink">
<p:graphicImage id="image#{status.index}"
name="images/#{image}"
width="100"
height="100"
rendered="#{countryPages_Setup.renderImages}"/>
</a>
</td>
</tr>
</c:forEach>
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9314 次 |
| 最近记录: |