spring boot jsp往controller传值的两种方式

本文介绍了在Spring Boot中使用JSP进行表单提交时,如何将值传递到Controller的方法。重点讨论了通过实体类匹配属性名的方式接收表单数据,以及HTTP报文在传输过程中的作用。同时,文章还探讨了.val()方法的使用,包括读取和设置表单元素值的功能。并提及了不同Content-Type下,Controller接收数据的差异,如JSON数据需要@RequestBody注解,并确保数据类型对应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	 jsp通过HttpServletRequest getRequest的getParameter("key")获取
	controller使用HttpServletRequest getRequest的getParameter获取参数:
  1. form表单提交
  2. 要求 name与entity实体类中的属性名一样 controller通过实体类来接收,get属性名来获取值具体例子的图片
  • 课外小知识 .val()
    3.1.val() 无参数时 读取所选中的表单元素的value值
    3.2 .val()有参数时 单个参数 为所选中的表单元素进行赋值
    数组参数 为所选中的表单元素遍历赋值
    最近一段时间又看了很多这方面的知识,对这个前后台传值理解稍稍加深如有更好的理解还请指点一二

  • 控制器在接收请求时,实际上是接收了一个HTTP报文,HTPP报文的主体部分会传给控制器方法的参数。

  • 例如,当注册一个用户,把表单提交一个控制器,这时就会发送一个报文,表单提交的报文Content-Type首部默认是 - - - application/x-www-form-urlencoded,这会把表单中的数据编码为k:v的形式传送给后台。

  • 控制器的参数应该一个POJO的对象,当控制器接收到表单的数据只要属性名和表单中的name属性名相同就会自动入参。那它 - 为什么可以自动入参呢,这得益于一个接口,这个接口是org.springframework.http.converter.HttpMessageConverter

     - 	表单提交时默认的Content-Type就是application/x-www-form-urlencoded,当报文的这个首部是这个值时,控制器方法中的参数不用配置就可以接收。
    
  • 但当报文的Content-Type首部不是application/x-www-form-urlencoded时一般要给参数添加@RequestBody注解。

  • 比如要提交json数据给后台时,发送的报文Context-Type首部为application/json,这时必须要给参数添加@RequestBody注 - 解,这个参数才可以接收报文主体中的json数据。

  • 接收JSON数据的参数可以是一个字符串也可以是一个POJO对象,只要json数据的k和POJO中的属性名一样就会自动入参, - 但要注意POJO中属性的数据类型也要和josn中的数据类型对应,只要有一个不对应就会全部入参失败,如果json数据是一个数 - 组,道理也是一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值