重定向是客户端的两次请求
转发是客户端只请求一次服务端做转发,url是不变的
转发是服务器行为,不能转发到本web应用之外的页面和网站
方式一:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/test")
public class Forward {
@RequestMapping("Beijin")
public ModelAndView test1(String name) {
ModelAndView modelAndView = new ModelAndView();
if (!name.equalsIgnoreCase("Beijin")) {
//与重定向一样,只需要将关键字redirect改为forward即可
modelAndView.setViewName("forward:/test/Other?name=" + name);
} else {
modelAndView.setViewName("/my/Beijin");
}
return modelAndView;
}
@RequestMapping("Other")
public ModelAndView test2() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("/my/Other");
return modelAndView;
}
}