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文件
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里面的名字一样
运行项目,输入信息,可以在控制台看到输入的信息
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
引入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
以上均为转载,自己学习记录,侵权立删