问题: spring mvc spring boot中怎么设置带参数和不带参数的请求对应同一个url路径|Java Web后台开发|在线助手,您的在线生成制作工具箱!

问题关键字: spring mvc,spring boot,不同参数映射同一url,Java Web后台开发,Spring Boot,Spring Mvc,thymeleaf,在线助手,在线工具,!

问题详细描述: spring mvc spring boot中怎么设置带参数和不带参数的请求对应同一个url路径是在线助手-在线生成制作工具箱-博客频道,Java Web后台开发系列文章之一,,it399在线助手以及在线助手博客专注于提供在线生成、在线制作等在线工具,以及提供在windows、Mac环境下使用eclipse、intellij idea进行JavaWeb后台开发专栏主要记录了开发过程中SpringBoot报错,SpringMVC报错,thymeleaf模板,vue使用,jsp报错,servlet报错,Mysql数据库报错等常见问题!

spring mvc spring boot中怎么设置带参数和不带参数的请求对应同一个url路径

在线助手博客首页

关键方法

@RequestParam(value=”provinces” ,required =false ) String provinces

具体代码如下

实现的效果是 https://www.it399.com/map/myzuji(不携带参数)
https://www.it399.com/map/myzuji?provinces=111(携带参数)
都能够正常处理,而不是404,同时也可以根据参数做重定向。
比如https://www.it399.com/map/myzuji不带参数的时候,
重定向到https://www.it399.com//map/zhushouzuji 页面。

  1. @RequestMapping("/map/myzuji")
  2. public String goMap(Model mode,@RequestParam(value="provinces" ,required =false ) String provinces) {
  3. if (provinces==null){
  4. System.out.println("重定向");
  5. return "redirect:/map/zhushouzuji";
  6. }else{
  7. //参数不为空,正常逻辑
  8. }
  9. Gson gson = new Gson();
  10. Provinces china = gson.fromJson(provinces,Provinces.class);
  11. List<Province> province = china.provinces;
  12. System.out.println("==="+province.size());
  13. //{name:'广东',selected:true}, {name:'上海',selected:true}
  14. List<CitySelectBean> citySelectBeans = new ArrayList<>();
  15. for(int i=0;i<province.size();i++){
  16. if (i==0){
  17. if (province.get(i).cSelectedCount>0){
  18. //第一个要特殊处理,热门城市
  19. for (int j = 0; j < province.get(i).citiesSelected.size(); j++) {
  20. if (true || province.get(i).citiesSelected.get(j)){
  21. CitySelectBean citySelectBean = new CitySelectBean();
  22. citySelectBean.name = province.get(i).cities.get(j);
  23. citySelectBean.selected = true;
  24. citySelectBeans.add(citySelectBean);
  25. System.out.println("当前被选择的省份"+province.get(i).province);
  26. }
  27. }
  28. }
  29. }else{
  30. if (province.get(i).cSelectedCount>0){
  31. CitySelectBean citySelectBean = new CitySelectBean();
  32. citySelectBean.name = province.get(i).province.replace("省","");
  33. citySelectBean.selected = true;
  34. citySelectBeans.add(citySelectBean);
  35. System.out.println("当前被选择的省份"+province.get(i).province);
  36. }else{
  37. System.out.println("没有省份"+province.get(i).province);
  38. }
  39. }
  40. }
  41. System.out.println("所有省份大小"+citySelectBeans.size());
  42. mode.addAttribute("citySelectBeans",citySelectBeans);
  43. setMapData(mode);
  44. return "templates/vue/map/myzuji";
  45. }

个人网站

个人博客

本文同步发布在 在线助手转载请注明来自 在线助手博客 频道【spring mvc spring boot中怎么设置带参数和不带参数的请求对应同一个url路径】,原文链接:https://www.it399.com/blog/web/201806151415

Copyright © 2017-2018 . All Rights Reserved.

粤ICP备18008506号