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