作为一项任务,我打算使用JSP页面来创建一个WEB页面。它应该在“index.jsp”上显示用户登录和产品列表。用户登录页面后,他将被发送到“index.jsp”以与产品列表进行交互。一些互动包括改变价格。
我遇到的问题是,我似乎无法正确验证会话中的产品列表是否为空。我的代码将我的列表识别为始终为空,因此默认情况下会不断创建产品,这使得用户必须更改其价格时很难。
这是我的“index.jsp”代码:
<%
String valiLog = (String)session.getAttribute("logged");
if(valiLog == "false" || valiLog == null)
{
response.sendRedirect("error.jsp?cod= No se ha registrado.");
}
ArrayList<Productos> listaProductos = new ArrayList();
if( listaProductos.isEmpty())
{
listaProductos = new ArrayList();
listaProductos.add(new Productos(1, "Beerus battle figure", 19900, "img/bee.jpg"));
listaProductos.add(new Productos(2, "Goku battle figure", 11100, "img/gok.jpg"));
listaProductos.add(new Productos(3, "Superman battle figure", 29900, "img/sup.jpg"));
session.setAttribute("producto", listaProductos);
out.println("se imprime");
}
listaProductos = (ArrayList<Productos>)session.getAttribute("producto");
Usuario usuarioLogeado = (Usuario)session.getAttribute("usuarioActivo");
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ejercicio 26-04-2016</title>
</head>
<body>
<h1>Productos</h1>
<%
out.println("<h2>Usuario : " + usuarioLogeado.getNombre()+"</h2>");
out.println("<table border='1'>");
out.println("<tr>");
out.println("<td><b>Producto</b></td>");
out.println("<td><b>Precio</b></td>");
out.println("</tr>");
for( Productos p : listaProductos){
out.println("<tr>");
out.println("<td><a href = 'mostrarImgBig.jsp?codImg=" + p.getCodigo() + "'><img src = '"+p.getRutaThumb() +"' width = '200' height = '200'/></a></td>");
if(usuarioLogeado.getAdmin() == true)
{
out.println("<td><a href = 'modPrecio.jsp?codImg=" + p.getCodigo() + "'>"+p.getPrecio()+"</a></td>");
}else{
out.println("<td>"+p.getPrecio()+"</td>");
}
}
out.println("</table>");
%>
<a href = 'login.jsp'><input type='button' value='Cerrar sesion' name='logout' /></a>
</body>
答案 0 :(得分:0)
怎么可能不是空的
ArrayList<Productos> listaProductos = new ArrayList();
if( listaProductos.isEmpty())
而不是在JSP中使用java学习使用JSTL。
然后可以使用
<c:if test="${empty listaProductos}">
请参阅http://docs.oracle.com/cd/E17904_01/web.1111/e13712/reference.htm#WBAPP429