遍历list的问题

.Xg 2019-01-26 07:49:00
上次发贴没把代码贴完,这次贴完问:
Servlet代码为:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.getRequestDispatcher("index.jsp").forward(request, response);

GetShops getshop=new GetShops();

List<Map<String, Object>> shoplist= getshop.getshops();
request.setAttribute("shops",shoplist);

System.out.println("商品信息 " + shoplist);
}

GetShops 类:
package bll;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import utils.JdbcUtils;
import utils.PageSet;

public class GetShops {
private JdbcUtils jdbcUtils;
public GetShops(){
jdbcUtils=new JdbcUtils();
}
public List<Map<String, Object>> getshops(){
String sql="select * from shops order by sid desc";
return jdbcUtils.query(sql);
}
}


jsp页面代码:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE html>

<html>
<head>
<title>南华零食网</title>
</head>
<link href="./nhshop.css" rel="stylesheet" type="text/css" />
<body>
<%@ include file="header.jsp" %>

<div class="bigbox">
<div class="bigad">
<div class="ad">
<div class="menu">
<div class="menu_list">
<h3><a href="#" class="new_sort2" title="坚果炒货">坚果炒货</a></h3>
</div>
<div class="menu_list">
<h3><a href="#" class="new_sort3" title="饼干糕点">饼干糕点</a></h3>
</div>
<div class="menu_list">
<h3><a href="#" class="new_sort4" title="糖果巧克力">糖果巧克力</a></h3>
</div>
<div class="menu_list">
<h3><a href="#" class="new_sort5" title="蜜饯果干">蜜饯果干</a></h3>
</div>
<div class="menu_list">
<h3><a href="#" class="new_sort6" title="肉类制品">肉类制品</a></h3>
</div>
<div class="menu_list">
<h3><a href="#" class="new_sort7" title="海味零食">海味零食</a></h3>
</div>
<div class="menu_list">
<h3><a href="#" class="new_sort8" title="膨化零食">膨化零食</a></h3>
</div>
<div class="menu_list">
<h3><a href="#" class="new_sort9" title="饮料/罐头/牛奶">饮料/罐头/牛奶</a></h3>
</div>
<div class="menu_list">
<h3><a href="#" class="new_sort10" title="豆菌笋类">豆菌笋类</a></h3>
</div>
<div class="menu_list">
<h3><a href="#" class="new_sort11" title="速食/方便面">速食/方便面</a></h3>
</div>
<div class="menu_list">
<h3><a href="#" class="new_sort12" title="特产零食">特产零食</a></h3>
</div>
<div class="menu_list">
<h3><a href="#" class="new_sort13" title="进口零食">进口零食</a></h3>
</div>
</div>
<!--淡入淡出-->
<nav>
<ul id="index">
<li class="on"></li>
<li></li>
<li></li>
<li></li>
</ul>
<ul id="img">
<li class="opa-on"><img src="./images/01.jpg" alt="img1"></li>
<li><img src="./images/02.jpg" alt="img2"></li>
<li><img src="./images/03.jpg" alt="img3"></li>
<li><img src="./images/04.jpg" alt="img4"></li>
</ul>
</nav>
</div>
<div class="clearfloat"></div>
</div>
<div class="mtitle bigad"><span>每日秒杀</span>
<p class="md">剩余时间:0:0:0</p>
</div>
<div class="content bigad">

<div class="left"></div>
<div class="right"><img src="./images/content_bottom.png" class="right_img">
<ul>
<c:forEach items="${shoplist}" var="shop">
<li>
<p><a href="javascript:;"><img src="${shop.simg}"></a></p>
<p><a href="javascript:;" class="name">${shop.sname}</a></p>
<p class="price"><em>¥</em>
${shop.sprice}
</p>
</li>
</c:forEach>
</ul>
</div>
<div class="clearfloat"></div>
</div>
<div class="floor bigad">
<div class="mtitle"><span>优惠促销</span></div>
<div class="shop_list">
<ul>
<c:forEach items="${shops}" var="index2">
<li>
<p><a href="#"><img src="${index2.simg}"></a></p>
<p><a href="#" class="name">${index2.sname}</a></p>
<p class="price"><em>¥</em>
${index2.sprice}
</p>
</li>
</c:forEach>
</ul>
</div>
</div>
<div class="clearfloat"></div>
<div class="floor_bottom bigad"><img src="./images/floor_bottom.jpg"></div>
</div>
<%@ include file="floor.jsp" %>
</body>
<script src="./js/nhshop_index.js"></script>
</html>



但是最终效果是网页中c:forEach的片段输出空白,即使什么内容都没有,初学者,想不出哪里出了问题了,求大神打救


...全文
372 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
JSPGen 2019-03-11
  • 打赏
  • 举报
回复
System.out.println("商品信息 " + shoplist);
request.getRequestDispatcher("index.jsp").forward(request, response);

跳转放到商品信息后面试一下
Dkodak 2019-03-09
  • 打赏
  • 举报
回复
把list放到转发的前面。你转发到页面上后面的代码就不会执行了
mengke.me 2019-01-31
  • 打赏
  • 举报
回复
打印一下shoplist看看是否拿到了数据。或者直接在前端${shops}看看有没有输出,没有输出就是没有数据传过来
.Xg 2019-01-26
  • 打赏
  • 举报
回复
后面我测试了直接在jsp页面中写list,可以用c:forEach遍历出来,但是把代码放回servlet中后就不可以遍历了

81,092

社区成员

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

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