这一点有点复杂,标题可能会产生误导,但我不知道怎么写它。
我试图在.jsp中显示一些2分布的图像。例如:
要做到这一点,我有一个' while'循环,由于设计原因,必须2乘2。像这样: 为此,我有一个ArrayList,它是我的DTO,我封装了我的信息(图像,标题,作者)。
当我有一个包含3或5个元素的ArrayList时会出现问题。如果我只有一个元素,那么它很容易被检测到并且只显示一个元素。
这是我的代码:
ArrayList<Vinilo> coleccionVinilos = (ArrayList<Vinilo>)request.getAttribute("coleccionVinilos");
request.removeAttribute("coleccionVinilos");
if (coleccionVinilos.size() >= 2) {
int i = 0;
while (i < 6 && coleccionVinilos.size() > i) {
if (coleccionVinilos.size() > i) {
Vinilo col = coleccionVinilos.get(4);
} else {
Vinilo col = coleccionVinilos.get(i);
Vinilo col2 = coleccionVinilos.get(i + 1);
}
i = i + 2;
}
} else if (coleccionVinilos.size() == 1) {
Vinilo col = coleccionVinilos.get(0);
} else{
//
}
答案 0 :(得分:0)
好的,我在写这个问题的同时解决了这个问题,所以我认为无论如何我都会分享它。
这是最终的工作版本
ArrayList<Vinilo> coleccionVinilos = (ArrayList<Vinilo>)request.getAttribute("coleccionVinilos");
request.removeAttribute("coleccionVinilos");
if (coleccionVinilos.size() >= 2) {
int i = 0;
while (i < 6 && coleccionVinilos.size() > i) {
if (i < coleccionVinilos.size() && coleccionVinilos.size() < (i + 2)) {
Vinilo col = coleccionVinilos.get(i);
} else {
Vinilo col = coleccionVinilos.get(i);
Vinilo col2 = coleccionVinilos.get(i+1);
}
i = i + 2;
}
} else if (coleccionVinilos.size() == 1) {
Vinilo col = coleccionVinilos.get(0);
} else {
//
}