视图向控制器传参@RequestMapping()和@RequestParam()

@RequestMapping()和@RequestParam()注解在spring-web-4.3.18.RELEASE.jar包下,当然可以是其他版本,所在包名如下:

 

@RequestMapping()

@RequestMapping()中的参数value的返回类型为String[],表示可以用多个地址来访问,当只使用value属性时,可以直接写它的值

如下代码表示访问http://localhost:8080/index1和访问http://localhost:8080/index2都可以成功访问该方法

参数method不写时,表示get请求和post请求都可以访问

参数params表示必须要传入的参数,然后才可以访问该方法

如下代码表示访问时必须要传入属性为name的参数,即访问http://localhost:8080/index?name=yanguobin才能成功访问该方法

由于@RequestMapping注解也可以用于类上,注意,没有使用@RequestMapping的方法不能访问

@RequestParam()

@RequestParam()中的参数required默认为true,表示该参数是必须的

如下代码表示必须要传入属性名为bbb的参数才可以访问该方法,即http://localhost:8080/index?bbb=yanguobin才可以成功访问

接着看一下如下代码,当访问http://localhost:8080/index时可以正常访问,输出null,即有点像@RequestParam()中的required设为了false;当访问http://localhost:8080/index?bbb=yanguobin时,也可以成功访问,输出yanguobin;当访问http://localhost:8080/index?aaa=ygb时,也可以正常访问,输出null,还是像@RequestParam()中的required设为了false

参数value表示传来的参数的属性名,当只使用value属性时,可以直接写它的值

如下代码表示传入的属性名必须为aaa,即访问http://localhost:8080/index?aaa=yanguobin才可以成功访问

综上所述,如下代码必须要同时传入属性名为aaa和属性名为ccc的参数才可以成功访问,即访问http://localhost:8080/index?aaa=yanguobin&ccc=ygb才可以成功访问

然鹅ccc的值似乎无法获取?

原文地址:https://www.cnblogs.com/yanguobin/p/11622496.html