1. 程式人生 > >SpringMVC(八)轉發與重定向

SpringMVC(八)轉發與重定向

SpringMVC(八)轉發與重定向

關於轉發與重定向的定義和區別網上已經有很多介紹了,這裡就不在贅述了。

下面通過一段程式碼簡單的介紹下Spring MVC中如何使用轉發與重定向

package com.lay.mvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.
web.bind.annotation.RequestMapping; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; /** * @Description:轉發與重定向控制器 * @Author: lay * @Date: Created in 16:03 2018/11/15 * @Modified By:IntelliJ IDEA */
@Controller @RequestMapping("/skip") public class RedirectController { //轉發 不帶引數 @GetMapping("/forwardNoArgs") public String forwardNoArgs(){ return "forward:/skip/forward"; } //轉發 帶引數 @GetMapping("/forwardWithArgs") public String forwardWithArgs(Long id, HttpServletRequest request)
{ request.setAttribute("id",id); return "forward:/skip/forward"; } //轉發頁面 @GetMapping("/forward") public String forward(HttpServletRequest request, Model model){ Long id= (Long) request.getAttribute("id"); model.addAttribute("id",id); System.out.println(id); return "skip/forward"; } //重定向 不帶引數 @GetMapping("/redirectNoArgs") public String redirectNoArgs(){ return "redirect:/skip/redirect"; } //重定向 url引數 @GetMapping("/redirectWithArgs") public String redirectWithArgs(Long id){ return "redirect:/skip/redirect?id="+id; } //重定向 引數為java物件 @GetMapping("/redirectWithObject") public String redirectWithObject(RedirectAttributes redirectAttributes){ long id=123; redirectAttributes.addAttribute("id",id); return "redirect:/skip/redirect"; } //重定向頁面 @GetMapping("/redirect") public String redirect(Long id,Model model,RedirectAttributes redirectAttributes){ model.addAttribute("id",id); return "/skip/redirect"; } }