随笔 - 1162  文章 - 0  评论 - 16  阅读 - 59万 

一、映射规定请求参数

@RequestMapping 的 params 表示规定映射请求参数。

二、请求参数

params:用来规定客户端传到服务器的数据,支持表达式

params 的简单的表达式:

param1: 表示请求必须包含名为 param1 的请求参数

!param1: 表示请求不能包含名为 param1 的请求参数

param1 != value1: 表示请求包含名为 param1 的请求参数,但其值不能为 value1

{"param1=value1", "param2"}: 请求必须包含名为 param1 和 param2 的两个请求参数,且 param1 参数的值必须为 value1

三、代码示例

(1)定义控制器方法

//了解: 可以使用 params 来更加精确的映射请求. params 支持简单的表达式.
@RequestMapping(value="/testParams"params= {"username","age!=10"})
public String testParams(){
  System.out.println("testParams...");
  return "success";
}

(2)请求 URL

<!--设置请求参数信息 -->

<a href="springmvc/testParams">testParams</a>

(3)测试:使用火狐 或 Chrome 浏览器 debug 测试

① 测试有参数情况(不正确)

情况一:没有参数情况

请求:
<a href="springmvc/testParams">testParams</a>

异常:
No matching handler method found for servlet request: path '/springmvc/testParams'method 'GET', parameters map[[empty]

情况二:有参数,但不匹配指定的参数的键

请求:
<a href="springmvc/testParams?age=11">testParams</a>

异常:
No matching handler method found for servlet request: path '/springmvc/testParamsAndHeaders'method 'GET', parameters map['age' -> array<String>['11']]
② 测试有参数情况(正确)
<a  href="springmvc/testParams?username=springmvc&age=15">testParams</a>
posted on   格物致知_Tony  阅读(200)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2019-11-03 算法的时间复杂度与空间复杂度
2019-11-03 排序算法
2019-11-03 递归—八皇后问题
2019-11-03 递归—迷宫问题
2019-11-03 递归
点击右上角即可分享
微信分享提示

目录导航