Spring前后端传递参数的几种方法(转)

  • 一、准备工作
  • 1.建立HelloController类
  • 2. 在webapp下建一个hello.html文件
  • hello.html文件中写一个表单
  • 二、传值方法:
  • 1.使用servlet,通过request请求
  • 导入servlet依赖
  • 修改HelloController类里面的内容
  • 运行项目,输入信息,可以在控制台看到输入的信息
  • 2.通过反射,匹配参数名来注入值
  • (用的比较多一种方法,适用于参数较少)
  • 修改HelloController类里面的内容
  • 修改HTML内容
  • 运行项目,输入信息,可以在控制台看到输入的信息
  • 3.通过传递对象
  • (适用于参数比较多)
  • 创建一个实体类User
  • 引入lombok依赖
  • 修改HelloController类里面的内容
  • 修改HTML内容
  • 运行项目,输入信息,可以在控制台看到输入的信息
  • 4.AJAX


原文链接:

.

一、准备工作

1.建立HelloController类

@RestController
public class HelloController {
//  @ResponseBody//将方法的返回值以json字符串的形式进行返回
    @RequestMapping("/hello.do")
    public String action() {
        System.out.println(123);
        return "null";
    }
}

2. 在webapp下建一个hello.html文件

date类型 java 前端传参数 java前后端传参方式有哪些_date类型 java 前端传参数

hello.html文件中写一个表单

<body>
<form action="/hello.do" method="get">
    姓名:<input type="text" name="username">
    密码:<input type="password" name="password">
    <input type="submit" value="提交">
</form>
</body>

二、传值方法:

1.使用servlet,通过request请求

导入servlet依赖

<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
</dependency>

修改HelloController类里面的内容

@RestController
public class HelloController {

//    @ResponseBody//将方法的返回值以json字符串的形式进行返回

    @RequestMapping("hello.do")
    public String action(HttpServletRequest request) {
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        System.out.println(username+ " "+password);
        return null;
    }
}

username和password要和HTML里面的名字一样

date类型 java 前端传参数 java前后端传参方式有哪些_date类型 java 前端传参数_02

运行项目,输入信息,可以在控制台看到输入的信息

date类型 java 前端传参数 java前后端传参方式有哪些_java_03


2.通过反射,匹配参数名来注入值

(用的比较多一种方法,适用于参数较少)

修改HelloController类里面的内容
@RequestMapping("hello1.do")
    //通过反射,匹配参数名来注入值
    //java反射机制本身会注入失败,使用@RequestParam来解决。当有多个参数时,发现某个参数接收不到,可以试试这个注解
    public String action1(@RequestParam ("username")String username, String password) {
        System.out.println(username+ " "+password);
        return null;
    }
}
修改HTML内容
<form action="/hello1.do" method="get">
    姓名:<input type="text" name="username">
    密码:<input type="password" name="password">
    <input type="submit" value="提交1">
</form>
运行项目,输入信息,可以在控制台看到输入的信息

3.通过传递对象

(适用于参数比较多)

创建一个实体类User

date类型 java 前端传参数 java前后端传参方式有哪些_spring_04

引入lombok依赖
<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<version>1.18.12</version>
</dependency>

这时User就会自动生成set,get方法

修改HelloController类里面的内容
//针对参数比较多时
@RequestMapping("hello2.do")
//通过反射,匹配参数名来注入值
public String action2(User user) {
    System.out.println(user);
    return null;
}
修改HTML内容
<form action="/hello2.do" method="get">
    姓名:<input type="text" name="username">
    密码:<input type="password" name="password">
    <input type="submit" value="提交2">
</form>
运行项目,输入信息,可以在控制台看到输入的信息

4.AJAX

以上均为转载,自己学习记录,侵权立删