重定向的传值问题
作业中当添加完图书点击保存的时候跳转到该分类下图书列表界面,我在Controller中的add方法中使用重定向response.sendRedirect("list.do?categoryId="); 请问老师这里的categoryId的值应该怎么获取?
public void add(HttpServletRequest request,HttpServletResponse response) throws FileUploadException, IOException { Book book = new Book(); List<Book> books = new ArrayList<>(); //创建一个磁盘文件项工厂对象 DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); //创建一个核心解析类 ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory); //解析request请求,返回List集合,List集合中存放FileItem对象 List<FileItem> list = servletFileUpload.parseRequest(request); //遍历集合,获得每个FileItem,判断是表单项还是文件上传项 for(FileItem fileItem:list){ if(fileItem.isFormField()){ //表单项 if(fileItem.getFieldName().equals("categoryId")){ book.setCategoryId(Integer.parseInt(fileItem.getString("UTF-8"))); } if(fileItem.getFieldName().equals("name")){ book.setName(fileItem.getString("UTF-8")); } if(fileItem.getFieldName().equals("level")){ book.setLevel(Integer.parseInt(fileItem.getString("UTF-8"))); } if(fileItem.getFieldName().equals("price")){ book.setPrice(Integer.parseInt(fileItem.getString("UTF-8"))); } if(fileItem.getFieldName().equals("imgPath")&&book.getImgPath() != null){ book.setImgPath(fileItem.getString("UTF-8")); } }else { //文件上传项 if(fileItem.getFieldName().equals("smallImg")){ String rootPath = request.getServletContext().getRealPath("/"); String path = fileItem.getName(); String type = ".jpg"; if(path.indexOf(".") != -1){ type = path.substring(path.lastIndexOf(".")); } path = "/download/images/"+System.currentTimeMillis()+type; try { fileItem.write(new File(rootPath+path)); book.setImgPath(path); } catch (Exception e) { e.printStackTrace(); } } } } books.add(book); //调用Service bookService.add(books); //重定向到界面 response.sendRedirect("list.do?categoryId="); }
2
收起
正在回答 回答被采纳积分+1
1回答
chrismorgen
2019-02-28 14:12:36
你好同学,如果是变量的话没办法通过重定向的url进行传参的,可以将变量参数放到session中,然后在页面获取session中categoryId值,不过带参的请求推荐同学使用request转发哦,祝学习愉快~
SSM主流框架入门与综合项目实战2018版
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星