SpringMVC参数传递的格式

SpringMVC参数传递的格式

1.简单参数传值

<input   type="text"  name="username"  value="admin" />
<input   type="text"  name="age"  value="18" />

前提: servlet 是一种参数传递的机制 要求:所有的参数类型都是String 数据类型
说明: 数据类型的转化是框架帮助完成的!!!
public xxxx getUser(String username,Integer age)

2.对象的方式接收参数

<input   type="text"  name="username"  value="admin" />
<input   type="text"  name="age"  value="18" />

要求: 1.属性的名称必须与name属性名称一致.
2. 要求对象中必须有set/get方法 对象的属性都是private
public xxxx getUser(User user)

3. 同名提交问题

<input  name="hobby" type="text" value="吃1">
<input  name="hobby" type="text" value="吃2">
<input  name="hobby" type="text" value="吃3">

说明: 有时页面中会出现同名的提交问题 name属性都是一致的. 问 SpringMVC如何接收
原理: 当页面进行同名提交. 会将参数使用","号进行拼接 hobby = 吃1,吃2,吃3 String数据类型
mvc参数接收:

public xxxx getUser(String[] hobby){
	//hobby 按照,号拆分为数组  之后循环变量 取值操作......
}

…的本质就是数组

public xxxx getUser(String... hobby){
	//hobby 按照,号拆分为数组  之后循环变量 取值操作......
}	

4.为对象的引用赋值

原则: SpringMVC中页面的name属性名称 不能重复, 除非同名提交问题
实际需求: 使用对象的引用解决 实际需求中的同名提交问题

<input  name="name" type="text" value="二郎神">    user(name) 二郎神,啸天
<input  name="dog.name" type="text" value="啸天">   dog(name)  二郎神,啸天
public class User{
	private String name;   //二郎神
	private Dog dog;	   //dog对象
}
public class Dog{
	private String name;   //啸天
}
public xxxx getUser(User user){
			
}	

5.restFul风格

get请求案例: http://localhost:8080/getUser?id=100
restFul: 可以简化get请求的结构 简化key 使用/进行分隔,请求路径中不能有动词,要求restFul的请求是无状态的.
http://localhost:8080/user/100/tom
参数接收:

@RequestMapping("/user/{id}/{name}")
public xxx getUser(@Pathvariable Integer id, @Pathvariable String name){
}
//要求: {属性名称} 必须与对象的属性名称一致   get/set方法支持
@RequestMapping("/getUser/{id}/{name}")
public xxx getUser(User user){
}

请求类型与业务逻辑的关系:
请求路径: http://localhost:8080/user/100/tom type=“put”
RestFul中要求: 通过请求的类型控制业务逻辑的执行.

  1. Get 查询操作
  2. Post 登录/注册时使用(增)
  3. Put 修改操作
  4. Delete 删除操作
@GetMapping("/user/{id}/{name}")
public xxx getUser(@Pathvariable Integer id,@Pathvariable String name){
}
		
@PutMapping("/user/{id}/{name}")
public xxx getUser(User user){
}

6.restFul面试题

考题: 什么是restFul?
答:
1.restFul其实可以简化之前的get请求的类型,将参数使用/的方式进行分隔,减少了url参数的传递的字节信息.
2.restFul规定,可以通过一个url请求的地址,通过不同的请求的类型,控制业务逻辑. restFul中 要求路径中不能出现动词.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九九lx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值