转发与重定向
1、没有视图解析器
package com.kaung.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ResultSpringMVC {
@RequestMapping("/t1/r1")
public String test1(Model model){
model.addAttribute("msg","ResultSpringMVC1");
//转发
return "/index.jsp";
}
@RequestMapping("/t2/r1")
public String test2(Model model){
model.addAttribute("msg","ResultSpringMVC2");
//转发二
return "forward:/index.jsp";
}
@RequestMapping("/t3/r1")
public String test3(Model model){
model.addAttribute("msg","ResultSpringMVC3");
//重定向
return "redirect:/index.jsp";
}
}
-
return “/index.jsp”;转发到index.jsp
-
return “forward:/index.jsp”;通过转发的方式转发到index.jsp
-
return "redirect:/index.jsp"通过重定向的方式转发到index.jsp
2、有视图解析器
package com.kaung.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ResultSpringMVC2 {
@RequestMapping("/t1/r2")
public String test1(Model model){
model.addAttribute("msg","ResultSpringMVC1");
//转发
return "hello";
}
@RequestMapping("/t2/r2")
public String test2(Model model){
model.addAttribute("msg","ResultSpringMVC2");
//重定向
return "redirect:/index.jsp";
}
}
- 将视图解析器打开
- 转发才会自动拼接,重定向不会
- 重定向不能访问WEB-INF下的文件
接受请求及数据回显
关于前端参数如何传给后台
1、提交的域名参数名称与处理器参数一致
@RequestMapping("/hello1")
public String test1(Model model,String name){
model.addAttribute("msg","hello"+name);
System.out.println(name);
return "hello";
}
控制台输出“张三”
2、提交的域名参数名称与处理器参数一致
@RequestMapping("/hello2")
public String test2(@RequestParam("username") String name, Model model){
model.addAttribute("msg","hello"+name);
System.out.println(name);
return "hello";
}
控制台输出“李四”
3、提交的是一个对象
@RequestMapping("/hello3")
public String test3(Model model, User user){
model.addAttribute("msg","hello");
System.out.println(user);
return "hello";
}