JavaWeb 重定向与转发的使用场景


重定向是客户端跳转,2次请求,2次响应,因此一开始提交的数据在这个过程中会丢失。

转发为服务器跳转,1次请求,一次响应,数据会接着传递到所要跳转的页面当中。

 

在crud操作中,增删改这类不需要进行显示的的操作则需要用到重定向,否则多次提交可能会产生产生一些额外的错误。

当需要传参数时,别入编辑属性时需要跳到编辑页面时,此时则使用转发。

 

@RequestMapping("admin_product_add")
    public String add(Model model, Product p) {
        p.setCreateDate(new Date());
        productService.add(p);
        return "redirect:admin_product_list?cid="+p.getCid();
    }
 
    @RequestMapping("admin_product_delete")
    public String delete(int id) {
        Product p = productService.get(id);
        productService.delete(id);
        return "redirect:admin_product_list?cid="+p.getCid();
    }
 
    @RequestMapping("admin_product_edit")
    public String edit(Model model, int id) {
        Product p = productService.get(id);
        Category c = categoryService.get(p.getCid());
        p.setCategory(c);
        model.addAttribute("p", p);
        return "admin/editProduct";
    }
 
    @RequestMapping("admin_product_update")
    public String update(Product p) {
        productService.update(p);
        return "redirect:admin_product_list?cid="+p.getCid();
    }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM