作用:把请求中指定名称的参数给控制器中的形参赋值。
如果表单提交一个属性username,后台想接收到这个数据,必须在方法中加一个参数叫username,如果名字写的不一样,封装不上。
如图,这是一样的
index.jsp
<!--常用注解-->
<a href="anno/testRequestParam?username=haha">RequestParam</a>
ssm框架注解的作用。controller类
/*常用注解的控制器*/
@Controller
@RequestMapping("/anno")
public class AnnoController {@RequestMapping("/testRequestParam")public String testRequestParam(String username){System.out.println("执行了...");System.out.println(username);return "success";}
}
当我们把username改成name
!--常用注解-->
<a href="anno/testRequestParam?name=haha">RequestParam</a>
控制台打印了null
如何解决这个问题
使用RequestParam注解,name和value属性是相同的
public String testRequestParam(@RequestParam(name="name") String username){System.out.println("执行了...");System.out.println(username);return "success";
}
Springboot框架?
required默认值是true,这个属性表示的是必须传一个和我们name一样的属性
作用:
用于获取请求体内容。直接使用得到是 key=value&key=value…结构的数据。 get 请求方式不适用。
get请求是没有请求体的,get把请求的参数都封装到了url地址栏上,只有post请求才能使用这个requestBody注解。
在传json数据的时候,会使用到这个注解
index.jsp
<form action="anno/testRequestBody" method="post">用户姓名:<input type="text" name="username"/><br/>用户年龄:<input type="text" name="age"/><br/><input type="submit" value="提交"/>
</form>
controller类
/*获取到请求体的内容*/
@RequestMapping("/testRequestBody")
/*现在我们是要拿到整个请求体,而不是某个属性的值,所以不能写username*/
public String testRequestBody(@RequestBody String body){System.out.println("执行了...");System.out.println(body);return "success";
}
dubbo框架使用注解?
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态