当前位置 博文首页 > 文章内容

    基于SpringMVC中的路径参数和URL参数实例

    作者:shunshunshun18 栏目:未分类 时间:2021-02-23 14:42:48

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    1、SpringMVC中的路径参数就是指在路径中添加参数,用于实现伪静态是很好的。

    2、路径参数实现方式(一个Controller方法)

    @RequestMapping(value="/page/{name}/{age}",method=RequestMethod.GET)
    public String getName(ModelMap map,@PathVariable("name") String name,@PathVariable("age") int age)
    {
      map.addAttribute("name",name);
      map.addAttribute("age",age);
      return "name";
    }

    3、创建name.jsp文件

    <%@page pageEncoding="UTF-8"%>
    <html>
    <head>
      <meta charset="UTF-8">
      <title>test</title>
    </head>
    <body>
    <div>
      名字:${name}<br/>
      年龄:${age}
    </div>
    </body>
    </html>

    4、在浏览器请求这个controller

    http://localhost:8080/page/xiaoming/18

    需要注意的是,我这里使用的编辑器是IDEA旗舰版

    5、在controller中接受请求参数的实现(controller)

    @RequestMapping(value="/result",method=RequestMethod.GET)
    public String resultParam(ModelMap map,@RequestParam String name,@RequestParam int age)
    {
      map.addAttribute("name",name);
      map.addAttribute("age",age);
      return "result";
    }

    6、创建result.jsp文件

    <%@page pageEncoding="UTF-8">
    <html>
    <head>
      <meta charset="UTF-8">
      <title>测试</title>
    </head>
    <body>
    名字:${name}<br/>
    年龄:${age}
    </body>
    </html>

    6、在浏览器中请求这个controller

    http://localhost:8080/result?name=xiaoming&age=20

    补充:spring mvc 之可选路径参数

    在spring mvc中,注解@PathVariable可以获得路径参数,但如果我想让路径参数可选呢?

      @GetMapping({"/get/{offset}/{count}","/get/{offset}","/get/{offset}","/get"})
      public void getGoods(@PathVariable(required = false) Integer offset,@PathVariable(required = false) Integer count){
        System.out.println("offset:"+offset+"\ncount:"+count+"\n");
      }

    此时在这个例子中,offset和count都是可选的了,但是count存在时offset必须存在。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持IIS7站长之家博文。如有错误或未考虑完全的地方,望不吝赐教。