1>forward的路径:
forward有两种路径格式,一种是相对自身这个controller的,另一种是相对项目路径的。
相对自身的路径格式不需要加“/”,比如fun1和fun2是相对的,都在A路径下,所以可以直接forward,打印xxx
@Controller @RequestMapping("A") public class A{ @RequestMapping("fun1") public String fun1(){ return "forward:fun2"; } @RequestMapping("fun2") public String fun2(){ system.out.println("xxx"); return "forward:/B/fun3"; } }
@Controller @RequestMapping("B") public class B{ @RequestMapping("fun3") public String fun3(){ system.out.println("+++"); return "forward:/C/fun4"; } }
而相对项目的路径 在forward时要加“/”,“/”是代表项目根目录的意思,由于fun2和fun3不是相对关系,直接写return "forward:fun3",请求的路径会变成/A/fun3,而不是/B/fun3。这里打印+++
2>forward的参数传递:
@Controller @RequestMapping("C") public class C{ @RequestMapping("fun4") public String fun4(){ return "forward:fun5?ugly=marong"; } @RequestMapping("fun5") public String fun4(String ugly){ system.out.println(ugly); } }
这里控制台直接输出:marong