php接收不到url传值_[SpringMVC] 03 SpringMVC 参数传递接收

e497a6f64b97b288da2df694d1582be7.png

在没学习SpringMVC之前,用servlet的时候,有一件事是让人非常苦恼的,那就是页面参数的获取,如果参数有几个还好,但是如果参数多达十几个,就会让人有点小抓狂,但是如果有多个servlet需要获取十几个的话?是不是爽翻了?

下面介绍几种SpringMVC获取页面参数的方法,重点会标♥

说下几种乱码解决方式,参考下面链接即可

SpringMVC Controller 接收页面传递的中文参数出现乱码​blog.csdn.net
761a9441ba3ef938a0a0495cd9589063.png

400错误-数据类型转换处理错误

产生的原因:页面提交参数的类型和后台参数接收的类型不对应

前端传值为空,但后台接收是int类型,就会报找个错 -解决(前端表单校验,防止空值)


e08265fe91f07cb607ec9bf95604a5e8.png

第一种 使用内置对象作为参数进行传递来获取参数

使用springmvc接收参数时 可以使用内置对象HttpServletRequest来获取对应的值。

和原始的servlet差不多,不方便

6a4fb7578a1808dd4aaaaf40de128ccd.png

♥第二种 使用参数进行接收页面参数

使用这种方式进行数据接受的时候,

需要保证形参的名称和前台form表单name的值必须要一致

2dd5bf13c04cbb811111ea1d2f0cd965.png

♥第三种 通过对象传递值的接收

参数可以直接使用对象进行接收

注意点:使用对象接收参数的时候需要注意

将需要接收的数据封装为对象进行接收

表单中的name属性必须和接收参数对象中的实体属性名保持一致

日期需要特别设置

3c1dfc7d106d2cdbd0b66274c61b253e.png

7b8baba465cb8baa268987f40a59804f.png

♥第四种 可以接收字符串或者字符串的数组

如果接收的参数是复选框 那么 我们可以根据需求选择接受数组还是字符串,

两者都是可以的。

5f51490aba99cb1f430d877c82fc5247.png

♥第五种 日期格式的接收

sql Date不含时分秒。

接收的数据如果含有时分秒 需要使用java.util.Date

并且使用@DateTimeFormat 指定时间的格式.

一定要注意传入数据的格式 一定要与转换的格式严格匹配(包括空格的数量)否则报400错误。

sql包的Date 只是含有年月日

util 中的Date 不仅含有年月日还有时分秒

@DateTimeFormat :接受日期格式的数据 --在使用Util包下才行

@DateTimeFormat(pattern = "指定日期的格式")

23321ec122cbd425b05c3af3a881d4ef.png

♥Restful风格参数的传递

Restful风格

是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景.

使用这种设计风格需要使用@PathVariable 注解获取url中的参数

-将数据变得更加安全,不容易盲猜

0521fb81f56c1bda01b5595adec3b66b.png

页面代码

7958382275aecd2b6e059dfdd346238f.png

6ba66dd46987868e685b046bf648253f.png

3eb8cb15e15e04b404de9383fecd1247.png

♥分页查询数据问题

7ebbb1ca5b7243c7572a34d57c5a3e37.png

♥指定必须传参

57e662b46786f1737bd03a8151631dfe.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值