SpringMVC 框架中,@RequestParam 的简单用法

比眉伴天荒 2022-06-07 13:38 405阅读 0赞

一、获取指定的参数(必填)

controller 中的写法

  1. @RequestMapping("/fetchItemDetail.do")
  2. @ResponseBody
  3. public String fetchItemDetail(@RequestParam String userName) {
  4. JSONObject json = new JSONObject();
  5. System.out.println("userName = [" + userName + "]");
  6. return json.toJSONString();
  7. }

在上述 controller 方法中用 @RequestParm String userName 指明当前方法接收的参数名称,则在当前 url 请求中必须携带该参数,若前台请求中,未传入当前指定的参数,后台返回 400 错误,如下图

Center

若前台传入多个参数,而后台controller 只设置了一个参数,当请求到达后台 controller 后,后台只会接收当前设定的参数。

二,获取指定的参数(非必填)

controller 中的写法

  1. @RequestMapping("/fetchItemDetail.do")
  2. @ResponseBody
  3. public String fetchItemDetail(@RequestParam(required = false) String userName) {
  4. JSONObject json = new JSONObject();
  5. System.out.println("userName = [" + userName + "]");
  6. return json.toJSONString();
  7. }

若当前参数非必填,则将 @RequestParm 中设置 require = false 即可。

三、获取指定参数(设默认值)

controller 中的写法

  1. @RequestMapping("/fetchItemDetail.do")
  2. @ResponseBody
  3. public String fetchItemDetail(@RequestParam(defaultValue = "哈哈哈") String userName) {
  4. JSONObject json = new JSONObject();
  5. System.out.println("userName = [" + userName + "]");
  6. return json.toJSONString();
  7. }

不管当前参数是否为必填,如需要给当前设默认值,则在 @RequestParm 中设置 defaultValue = “需要的默认值” 即可,这样,当前台没有传入该参数时,后台会默认给一个设置的默认值。

四、给指定参数取别名

因为某些原因,当前台 url 请求传送上来的参数和我们后台设置的接收参数名称不一样时,可以用 @RequestParm(name = “前台传入的名称”) 进行参数名称转换,SpringMVC 自动将值注入到 后面controller 中设置的接收参数中,如下面代码

  1. @RequestMapping("/fetchItemDetail.do")
  2. @ResponseBody
  3. public String fetchItemDetail(@RequestParam(name = "name") String userName) {
  4. JSONObject json = new JSONObject();
  5. System.out.println("userName = [" + userName + "]");
  6. return json.toJSONString();
  7. }

上述方法中参数的设置,前台 url 参数传入的参数名称:name ,后台SpringMVC 会自动将 name中的值注入到后台设置的真实接收参数 userName 中。

以上几种可以在实际运用中进行组合使用。

发表评论

表情:
评论列表 (有 0 条评论,405人围观)

还没有评论,来说两句吧...

相关阅读