新建图书类后,点击categoryList.jsp上不显示
package com.imooc.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.imooc.service.impl.CategoryServiceImpl;
@WebServlet("/AddCategoryServlet")
public class AddCategoryServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 接收页面提交的图书类的ID-bookId,图书类的名字-categoryName
String categoryId = request.getParameter("categoryId");
String categoryName = request.getParameter("categoryName");
// 处理数据
CategoryServiceImpl category = new CategoryServiceImpl();
category.addCatgory(categoryId, categoryName);
// request.setAttribute("categoryDb",category.getCategorydb());
request.setAttribute("categorys", category.getCategorydb());
System.out.println("保存书类的数据");
System.out.println(category.getCategorydb());
// 显示数据处理结果,跳转至categoryList.jsp
// response.sendRedirect(request.getContextPath() + "/categoryList.jsp");
request.getRequestDispatcher("/categoryList.jsp").forward(request, response);
doGet(request, response);
}
}
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>图书后台管理</title>
<link rel="stylesheet" href="css/index.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
</head>
<body>
<header>
<div class="container">
<nav>
<a href="bookList.jsp" >图书信息管理</a>
</nav>
<nav>
<a href="${pageContext.request.contextPath }/categoryList.jsp" >分类管理</a>
</nav>
</div>
</header>
<section class="banner">
<div class="container">
<div>
<h1>图书管理系统</h1>
<p>图书分类管理</p>
</div>
</div>
</section>
<section class="main">
<div class="container">
<table class="table table-striped">
<thead>
<tr>
<th>序号</th>
<th>分类编号</th>
<th>分类名称</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${requestScope.categorys}" var="category"
varStatus="idx">
<!-- <tr>
<td>1</td>
<td>ca0001</td>
<td>计算机类</td>
<td><a href="/deleteCategory?categoryId=ca0001">删除</a></td>
<!--在循环显示数据时,此处的ca0001可以用EL表达式进行替换-->
</tr>
<tr>
<td>${idx.index+1}</td>
<td>${category.categoryId}</td>
<td>${category.categoryName}</td>
<td><a href="/${pageContext.request.contextPath}?categoryId=${idx}">删除</a></td>
<!--在循环显示数据时,此处的ca0001可以用EL表达式进行替换-->
</tr>
</c:forEach>
</tbody>
</table>
</div>
</section>
<section class="page">
<div class="container">
<div id="fatie">
<a href="addCategory.jsp"><button>新建</button></a>
</div>
</div>
</section>
<footer>
copy@慕课网
</footer>
</body>
</html>
点击“新建”,会跳转到AddCategoryServlet能够正确显示提交的数据,但是点击一下“分类管理”后,地址会到categoryList.jsp,但是没有显示数据
正在回答 回答被采纳积分+1
同学你好,这里可以这样理解:
1、在AddCategoryServlet中,将查询到的数据存入request作用域中:
当从AddCategoryServlet跳转到categoryList.jsp页面时,将参数categorys也传递过去,在页面中能通过${requestScope.categorys}获取request作用域中的categorys参数,而将数据展示出来。
但是如果同学直接访问categoryList.jsp页面时,没有categorys参数的查询传递,对应也就没有数据进行展示了。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星