跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于

1、表单提交的数据都是key=value格式的(username=zs&password=123), SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的(要求:提交表单的name和方法的参数的名称是相同的)

示例:

<form action=""> 用户名:<input type="text" name="username"/> 密码: <input type= "password" name="password"/> <input type="submit"/> </form>

public String register(String username , String password){}

支持的数据类型

基本数据类型和字符串类型

实体类型(JavaBean)

集合数据类型(List、map集合等)

  • 客户端提交的表单参数名称, 和Controller里方法参数名称相同 SpringMVC会自动绑定同名参数,并自动转换类型

对象类型 【重点】

SpringMVC会帮我们自动把表单参数,封装成对象,但是要求: 客户端提交的表单参数名称,必须和JavaBean的属性名一样!

代码:

dao层:

public class User { private String username; private String password; private int age; }

前端页面:

<form action="/requestObjectParam"> 用户名:<input type="text" name="username"/><br/> 密 码:<input type="text" name="password"/><br/> 年 龄:<input type="text" name="age"/><br/> <input type="submit"/> </form>

controller:

@RequestMapping("/requestObjectParam") public String requestObjectParam(User user){}

常用注解讲解:

1、@requestParam

使用说明:

1、添加注解后,可以对浏览器请求做出要求,要求一定要有指定参数,没有就会报错

2、可以把请求提交的参数赋值给形参

代码:

@RequestMapping("/requestParam") public String requestParam(@RequestParam(value="abc" , required = false , defaultValue = "张三") String username , @RequestParam String password){ System.out.println("username = " + username); System.out.println("password = " + password); return "success"; }

注:@RequestBody只能接受url的传参?name=xxx,form表单数据的提交,无法接受josn对象

2、 @RequestBody 作用: 1. 可以获取表单提交上来的请求体,只有post请求才有请求体,get请求是没有请求体【不常用】 拿到的是一个字符串: username=admin&password=123456; 2. 可以接收页面提交上来的json数据,封装到JavaBe里面【常用】 步骤: 1. 方法参数的前面打上注解 @RequestBody,springmvc就会把请求体赋值给方法的参数。 axios.post("/requestBody02" , data);

@RequestMapping("/requestBody02") public String requestBody02(@RequestBody User user ) {}

注意: get 请求方式不适用。

3、@pathVariable

作用:

用于截取请求地址(url)里面的某些部分的数据。这个需要配合RestFul风格来说明

以前删除用户: localhost:82/deleteUser?id=3restFul : localhost:82/delete/3

@RequestMapping("/delete/{id}") public String pathVariable(@PathVariable(value="id") int id) {}

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。