重定向的传值问题
作业中当添加完图书点击保存的时候跳转到该分类下图书列表界面,我在Controller中的add方法中使用重定向response.sendRedirect("list.do?categoryId="); 请问老师这里的categoryId的值应该怎么获取?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 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积分~
来为老师/同学的回答评分吧