为什么jsp页面有foreach标签的那块东西显示不出来呢?

全体树立 2009-06-03 01:50:50
页面中用foreach标签嵌套的那个表格怎么都显示不出来呢?请路过的高手帮我看看。


页面代码
<%@ page language="java" import="java.util.*,com.company.dao.impl.*,com.company.entity.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="tag"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>商品列表页面</title>
</head>
<body>
<table width="974" height="150" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><jsp:include page="top.jsp" /></td>
</tr>
<tr>
<td width="138"><jsp:include page="left.jsp" /></td>
<td width="626">
12315635<table width="626" height="64" border="1" align="center" cellpadding="0" cellspacing="0">
<!-- 产品展示开始 -->
<jsp:useBean id="getProduct" class="com.company.dao.impl.ProductDaoImpl" />
<!-- 从数据库中取出产品信息赋给products变量,作用域:session -->
<tag:set var="products" value="${getProducts.products}" scope="session" />
<!-- 迭代循环,依次从foods变量中取出餐品,在页面中用EL显示该餐品各项信息 -->
<tag:forEach var="currentproduct" items="${sessionScope.products}" >
<tr>
<td width="99" rowspan="2"><a
href="detailProduct.jsp?productID=${currentproduct.productID}"
target=_blank><IMG height=50 alt=点击图片查看内容
src="images/${currentproduct.picture}" width=50 border=0></A></td>
<td width="44" rowspan="2">0</td>
<td width="123" bgcolor="#CCCCCC"> 产品名称</td>
<td width="127"><a
href="detailProduct.jsp?foodID=${currentproduct.productID}"
target=_blank><STRONG>${currentproduct.name}</STRONG></A></td>
<td width="100" bgcolor="#CCCCCC"> 产品品牌</td>
<td width="119"><a
href="detailProduct.jsp?foodID=${currentproduct.productID}"
target=_blank><STRONG>${currentproduct.brand}</STRONG></A></td>
</tr>
<tr>
<td bgcolor="#CCCCCC"> 产品型号</td>
<td><a
href="detailProduct.jsp?foodID=${currentproduct.productID}"
target=_blank><STRONG>${currentproduct.model}</STRONG></A></td>
<td bgcolor="#CCCCCC"> 产品价格</td>
<td><a
href="detailProduct.jsp?foodID=${currentproduct.productID}"
target=_blank><STRONG>${currentproduct.price}</STRONG></A></td>
</tr>
</tag:forEach>
</table></td>
</tr>
</table>
</body>
</html>



方法代码
public List findAllProduct() {
List list = (List) new ArrayList();
String sql = "SELECT * from PRODUCT";
// 获取餐品列表
try {

con = DBConnection.getConnection();
ps = con.prepareStatement(sql);
ResultSet results = ps.executeQuery();

// 读取行数据
while (results.next()) {
Product product = new Product();
product.setProductID(results.getInt("productID"));
product.setSerialNumber(results.getString("serialNumber"));
product.setName(results.getString("name"));
product.setBrand(results.getString("brand"));
product.setModel(results.getString("model"));
product.setPrice(results.getString("pirce"));
product.setPicture(results.getString("picture"));
product.setDescription(results.getString("description"));
list.add(product);
}
}
// 处理数据库异常
catch (SQLException e) {
e.printStackTrace();
}
// 释放资源
finally {
DBConnection.closeResultSet(results);
DBConnection.closePreparedStatement(ps);
DBConnection.closeConnection(con);
}
return list;
}
...全文
836 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
quxiuer 2009-06-03
  • 打赏
  • 举报
回复
products你存到哪里了? 没有放在session中吧
wind_rosebush 2009-06-03
  • 打赏
  • 举报
回复
在jsp中用代码块先从session中取出来products的值, 循环输出一下,看有没有...
montao 2009-06-03
  • 打赏
  • 举报
回复
肯定是${sessionScope.products} 没有获取到值

确认你把你查询出来的数据放到session作用域中了?
weiluo12 2009-06-03
  • 打赏
  • 举报
回复 1
request.getSession.setAttribute("list",list);
直接在页面foreach循环list
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="tag"%>
全体树立 2009-06-03
  • 打赏
  • 举报
回复
那句我已经删了。
全体树立 2009-06-03
  • 打赏
  • 举报
回复
Dream_gril 2009-06-03
  • 打赏
  • 举报
回复
是什么出错?你<tag:set var="products" value="${getProducts.products}" scope="session" /> 这句话删除了吗?没有删除就会出现变量重名?还有你findAllProduct()方法是在类ProductDaoImpl中吧?
全体树立 2009-06-03
  • 打赏
  • 举报
回复
<%
List products=getProducts.findAllProduct();
%>

这句的<% %>怎么会有错误?
Dream_gril 2009-06-03
  • 打赏
  • 举报
回复
<tag:set var="products" value="${getProducts.products}" scope="session" />
<!-- 迭代循环,依次从foods变量中取出餐品,在页面中用EL显示该餐品各项信息 -->
<tag:forEach var="currentproduct" items="${sessionScope.products}" >
改为:
<%
List products=getProducts.findAllProduct();
%>
<tag:forEach var="currentproduct" items="${products}" >
全体树立 2009-06-03
  • 打赏
  • 举报
回复
不是,我的是直接从后台到前台的。因为显示全部信息不需要什么参数。
Dream_gril 2009-06-03
  • 打赏
  • 举报
回复
后台把list赋给products然后前台这样写${getProducts.products} ,你是页面是从action跳转过来的吧?
全体树立 2009-06-03
  • 打赏
  • 举报
回复
是的。
全体树立 2009-06-03
  • 打赏
  • 举报
回复
直接这样写${getProducts.list}可以吗?还是要在后台把list赋给products然后前台这样写${getProducts.products} ???
Dream_gril 2009-06-03
  • 打赏
  • 举报
回复
你的findAllProduct是类ProductDaoImpl中的方法吗?
Dream_gril 2009-06-03
  • 打赏
  • 举报
回复
从你代码的意思看,你应该把方法findAllProduct中list返回值赋给它
全体树立 2009-06-03
  • 打赏
  • 举报
回复
要赋给它什么值?
全体树立 2009-06-03
  • 打赏
  • 举报
回复
没有这个属性啊···,这个属性干嘛用的?要赋给它上面值?
Dream_gril 2009-06-03
  • 打赏
  • 举报
回复
你写getProducts.products意思是你从类getProducts中取属性products的值,你在getProducts中有products这个属性吗?并且在后台中给这个属性赋值了吗?
全体树立 2009-06-03
  • 打赏
  • 举报
回复
我刚多加了一个s,可是运行出来还是下面这行错误。
<tag:set var="products" value="${getProducts.products}" scope="session" />
问下,value="${getProducts.products}" 后面.products是获取类里面的返回值还是什么?我看参考书上都没有products这个方法和返回值。
tenderuser 2009-06-03
  • 打赏
  • 举报
回复
<jsp:useBean id="getProduct" class="com.company.dao.impl.ProductDaoImpl" />
<!-- 从数据库中取出产品信息赋给products变量,作用域:session -->
<tag:set var="products" value="${getProducts.products}" scope="session" />
<!-- 迭代循环,依次从foods变量中取出餐品,在页面中用EL显示该餐品各项信息 -->
<tag:forEach var="currentproduct" items="${sessionScope.products}" >


第二个变量中的赋值是通过getProducts.products来获取值的,你的getProduct有没有?是不是你写错了,少写了一个s,其实是想使用上面设置的一个变量getProduct?
加载更多回复(1)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧