我做错了什么?有人可以帮忙吗? 在“if(result.get(0)...)”中,它表示“结果无法解决”。 我坚持这个。
<%
if(session != null){
ArrayList<Prize> result = new ArrayList<Prize>();
result = (ArrayList<Prize>) session.getAttribute("result");
}
%>
<%
if(result.get(0).getIdPrize() != null){
prize = result.get(0);
out.println(prize.getLottery(prize.getIdLottery()) +
" - " + prize.getHour(prize.getIdHour()) +
" - " + prize.getDate(prize.getDatePrize()));
}
%>
答案 0 :(得分:1)
变量结果在第一个if块中声明,在
之后不再可见尝试一下
<%
ArrayList<Prize> result = new ArrayList<Prize>();
if(session != null){
result = (ArrayList<Prize>) session.getAttribute("result");
}
%>
<%
if(result.size() > 0 && result.get(0).getIdPrize() != null){
prize = result.get(0);
out.println(prize.getLottery(prize.getIdLottery()) +
" - " + prize.getHour(prize.getIdHour()) +
" - " + prize.getDate(prize.getDatePrize()));
}
%>
答案 1 :(得分:0)
正如@Vyncent所说,将结果声明移到if结构之外。
答案 2 :(得分:0)
常见的newbiew错误是不知道变量的范围。 括号中的任何内容都是变量生命的cicle
{
int a = 3; // You can use this variable inside this brackets
System.out.println(a);
}
System.out.println(a); => Java Compiler will throw an error.
这适用于所有if / while / for语句。 因此,对于解决方案,只需知道如何使用变量的范围
ArrayList<Prize> result = new ArrayList<Prize>();
if(session != null){
result = (ArrayList<Prize>) session.getAttribute("result");
}
if(result.get(0).getIdPrize() != null){
prize = result.get(0);
out.println(prize.getLottery(prize.getIdLottery()) +
" - " + prize.getHour(prize.getIdHour()) +
" - " + prize.getDate(prize.getDatePrize()));
}