在struts2中并行遍历两个ArrayLists



我有两个数组列表

private ArrayList<String> userPics = new ArrayList<String>();
private ArrayList<String> picLikes = new ArrayList<String>();

第一个数组列表包含图片的路径,另一个列表包含每张图片的点赞数。我需要使用迭代器标记在struts2中并行获取值。怎么做。。?

假设您将它们与索引"链接",则可以使用IteratorStatus,如下所示:

<s:iterator value="userPics" var="pics" status="ctr">
    Current Element from userPics: <s:property value="pics" />
    Current Element from picLikes: <s:property value="picLikes[%{#ctr.index}]" />
</s:iterator>

但是,创建一个具有这两个属性的对象并列出它们的列表会好10倍:

public class Picture {
    private byte[] picture;
    private int likes;
    /* getters and setters */
}

然后在你的行动:

private List<Picture> pics;
/* getter and setter */

最后在您的JSP:中

<s:iterator value="pics">
    Current Element from userPics: <s:property value="picture" />
    Current Element from picLikes: <s:property value="likes" />    
</s:iterator>

最新更新