springboot之WebMvcConfigurationSupport作用
我无意之间看见到的 就把它记录下来
第一个事情:
springboot中的WebMvcConfigurationSupport可以配置多个路由 放到一个配置类中
@Configuration
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("topay").setViewName("ToPay/topay");
registry.addViewController("topay1").setViewName("ToPay/topay1");
registry.addViewController("topay2").setViewName("ToPay/topay2");
registry.addViewController("topay3").setViewName("ToPay/topay3");
registry.addViewController("topay4").setViewName("ToPay/topay4");
super.addViewControllers(registry);
}
}
直接访问http://localhost:8080/topay 就可以访问到ToPay/topay的页面
这个页面中有多个路由
分别点击H1 H2 H3 H4 就转跳到对应的页面上
相比之前省事多了 : 访问不同的页面要创建多个方法
@RequestMapping("/topay/")
public String topay(){
return "ToPay/topay";
}
@RequestMapping("/topay1/")
public String topay(){
return "ToPay/topay1";
}
@RequestMapping("/topay2/")
public String topay(){
return "ToPay/topay2";
}
@RequestMapping("/topay3/")
public String topay(){
return "ToPay/topay3";
}
@RequestMapping("/topay4/")
public String topay(){
return "ToPay/topay4";
}
第二个事情
承接第一个问题
1.当一个页面出现多个路由的时候 上一级路由有多级(app/topay)访问的下一级路由也有多级(app2/topay2),
registry.addViewController("app/topay").setViewName("ToPay/topay");//第一级
registry.addViewController("app/c/topay1").setViewName("ToPay/topay1");//第二级
registry.addViewController("app/topay/mn").setViewName("ToPay/topay");//第一级
registry.addViewController("app/topay/c/topay1").setViewName("ToPay/topay1");//第二级
而在页面中:
<a href="c/topay1">H1</a>//直接写实际的路由就好
2.当一个页面出现多个路由的时候 上一级路由有多级(app/topay)访问的下一级路由也有只有1级(/topay2),
registry.addViewController("app/topay/mn").setViewName("ToPay/topay");
registry.addViewController("/topay2").setViewName("ToPay/topay2");
而在页面中:
<a href="/topay2">H2
</a>//直接写实际的路由就好
3.当一个页面出现多个路由的时候 上一级路由有1级(app)访问的下一级路由也有只有1级(/topay2),
registry.addViewController("app").setViewName("ToPay/topay");
registry.addViewController("/topay2").setViewName("ToPay/topay2");
而在页面中:
<a href="/topay2">H2</a>
4.当一个页面出现多个路由的时候 上一级路由有1级(app)访问的下一级路由也有只有多级(/a/c/topay2/),
registry.addViewController("/app").setViewName("ToPay/topay");
registry.addViewController("/a/f/topay4").setViewName("ToPay/topay4");
而在页面中:
<a href="a/f/topay4">H4</a>