为什么修改之后跳转显示页面没有显示 需要点一下商品分类才能显示

为什么修改之后跳转显示页面没有显示 需要点一下商品分类才能显示

package com.imooc.web.action;

import java.io.IOException;
import java.util.List;
import java.util.Map;

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.dao.CategoryDao;
import com.imooc.dao.impl.CategoryDaoImpl;
import com.imooc.domain.Category;
import com.imooc.domain.Product;
import com.imooc.service.CategoryService;
import com.imooc.service.ProductService;
import com.imooc.service.impl.CategoryServiceImpl;
import com.imooc.service.impl.ProductServiceImpl;
import com.imooc.utils.UploadUtils;


@WebServlet("/ProductServlet")
public class ProductServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//接受method参数
		String methodName = request.getParameter("method");
		if("findAll".equals(methodName)) {
			findAll(request,response);
		}else if("saveUI".equals(methodName)) {
			svaeUI(request,response);
		}else if("save".equals(methodName)) {
			save(request,response);
		}else if("updata".equals(methodName)) {
			updata(request,response);
		}else if("upDateok".equals(methodName)) {
			upDateok(request,response);
		}
	}
	
	/**
	 * 修改商品信息并跳转到显示页面的方法
	 * @param request
	 * @param response
	 * @throws IOException 
	 */
	private void upDateok(HttpServletRequest request, HttpServletResponse response) throws IOException {
		//文件上传
		Map<String,String> map = UploadUtils.uploadFile(request);
		//封装数据
		Integer pid = Integer.parseInt(request.getParameter("pid"));
		Product product = new Product();
		product.setPid(pid);
		product.setPname(map.get("pname"));
		product.setAuthor(map.get("author"));
		product.setPrice(Double.parseDouble(map.get("price")));
		product.setDescription(map.get("description"));
		product.setFilename(map.get("filename"));
		product.setPath(map.get("path"));
		product.getCategory().setCin(Integer.parseInt(map.get("cid")));
		System.out.println("修改后--" + product);
		//调用业务层处理数据
		ProductService productService = new ProductServiceImpl();
		productService.upDateok(product);
		//页面跳转
		response.sendRedirect(request.getContextPath() + "/admin/product_list.jsp?method=findAll");
		}

	/**
	 * 编辑商品信息的方法
	 * @param request
	 * @param response
	 * @throws IOException 
	 * @throws ServletException 
	 */
	private void updata(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取参数
		Integer pid = Integer.parseInt(request.getParameter("pid"));
		//调用业务层处理
		ProductService proServive = new ProductServiceImpl();
		Product product = proServive.updata(pid);
		CategoryDao  categoryDao = new CategoryDaoImpl();
		List<Category> categoryList = categoryDao.findAll();
		//页面跳转
		request.setAttribute("categoryList", categoryList);
		request.setAttribute("product", product);
		request.getRequestDispatcher("/admin/product_update.jsp").forward(request, response);
			
	}


	/**
	 *后台 添加商品的方法
	 * @param request
	 * @param response
	 * @throws IOException 
	 */
	private void save(HttpServletRequest request, HttpServletResponse response) throws IOException {
		//文件上传
		Map<String, String> map = UploadUtils.uploadFile(request);
		//将数据进行分装
		Product product = new Product();
		product.setPname(map.get("pname"));
		product.setAuthor(map.get("author"));
		product.setPrice(Double.parseDouble(map.get("price")));
		product.setDescription(map.get("descirption"));
		System.out.println("MAP" + map.get("descirption"));
		product.setFilename(map.get("filename"));
		product.setPath(map.get("path"));
		product.getCategory().setCin(Integer.parseInt(map.get("cid")));
		//处理数据
		ProductService productService = new ProductServiceImpl();
		productService.save(product);
		//页面跳转
		response.sendRedirect(request.getContextPath() + "/admin/product_list.jsp?method=findAll");
	}



	/**
	 * 查询商品分类并跳转至添加页面
	 * @param request
	 * @param response
	 * @throws IOException 
	 * @throws ServletException 
	 */
	private void svaeUI(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//查询所有分类的信息
		CategoryService categoryService = new CategoryServiceImpl();
		List<Category> categoryList = categoryService.findAll();
		
		//页面跳转
		request.setAttribute("categoryList", categoryList);
		request.getRequestDispatcher("/admin/product_add.jsp").forward(request, response);
	}
	
	/**
	 * 查询所有商品的方法
	 * @param request
	 * @param response
	 * @throws IOException 
	 * @throws ServletException 
	 */
	private void findAll(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//调用业务层处理数据
		ProductService productService = new ProductServiceImpl();
		List<Product> productList = productService.findAll();
		//页面跳转
		request.setAttribute("productList", productList);	
		request.getRequestDispatcher("/admin/product_list.jsp").forward(request, response);
	}


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿满 2020-09-23 09:47:39

同学你好,同学是指4-11小节编辑商品时,在页面显示原来商品信息吗?根据商品id,查询该商品的信息,将其存放到request中,转发到前台页面显示,如:

http://img1.sycdn.imooc.com/climg/5f6aa86e09768f7609720366.jpg

同学可以继续向后学习。

祝:学习愉快~

好帮手慕阿满 2020-09-22 19:07:35

同学你好,同学的跳转路径有点问题。同学是跳转到某个具体页面,所以跳转后只显示页面,不显示具体数据。修改后不跳转到具体页面,而是跳转到显示数据的url,例如:

response.sendRedirect(request.getContextPath() + "/ProductServlet?method=findAll");

跳转到显示所有商品的url。

祝:学习愉快~

  • 提问者 慕粉1705037409 #1
    后面一节的修改 传递的参数是怎么传递的 也就是我应该怎么把参数传递给后台
    2020-09-22 20:16:14
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师