下面是SpringBoot接收Form表单数据的示例详解攻略:
1. 前置知识
在学习本篇攻略之前,需要先了解以下知识点:
- SpringBoot框架
- Controller控制器
- Form表单数据
2. 示例说明
在本篇攻略中,我们将演示两个示例:
- 接收普通表单数据
- 接收文件上传表单数据
2.1 接收普通表单数据
首先,我们需要创建一个Controller,这里我们假设Controller名称为FormController
。
@Controller
public class FormController {
@RequestMapping(value = "/form", method = RequestMethod.POST)
public String form(@RequestParam("name") String name, @RequestParam("gender") String gender, Model model) {
// 处理表单数据
model.addAttribute("name", name);
model.addAttribute("gender", gender);
return "form_result";
}
}
上面的代码中,我们通过@RequestParam
注解来获取表单数据,并将其放入Model
中返回。
接下来,我们需要创建一个HTML文件form.html
,用以展示表单。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表单示例</title>
</head>
<body>
<form action="/form" method="post">
<label for="name">姓名:</label>
<input type="text" name="name"/>
<br/>
<label for="gender">性别:</label>
<input type="radio" name="gender" value="male"/>男
<input type="radio" name="gender" value="female"/>女
<br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
上面的代码中,我们通过form
标签的action
属性指定了表单数据提交的路径,并通过name
属性指定了表单数据的名称。
最后,我们需要创建一个展示结果的HTML文件form_result.html
。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表单提交结果</title>
</head>
<body>
<p>姓名:[[${name}]]</p>
<p>性别:[[${gender}]]</p>
</body>
</html>
上面的代码中,我们通过${}
语法来获取Model
中的数据,并将其展示出来。
当用户在form.html
中填写完表单后,点击提交
按钮,表单数据将会被提交到FormController
中,FormController
会处理表单数据并将结果放入Model
中,最后返回form_result.html
展示结果。
2.2 接收文件上传表单数据
首先,我们需要在application.properties
中配置文件上传的保存路径。
spring.servlet.multipart.enabled=true
spring.servlet.multipart.file-size-threshold=2KB
spring.servlet.multipart.location= # 上传文件保存路径
spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=215MB
上面的配置中,我们指定了文件上传的保存路径为默认路径。
接下来,我们需要创建一个Controller,这里我们假设Controller名称为UploadController
。
@Controller
public class UploadController {
@PostMapping("/upload")
@ResponseBody
public String upload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "上传失败,请选择文件";
}
String fileName = file.getOriginalFilename();
String filePath = "D:/tmp/";
File dest = new File(filePath + fileName);
try {
file.transferTo(dest);
return "上传成功";
} catch (IOException e) {
return "上传失败:" + e.getMessage();
}
}
}
上面的代码中,我们通过@RequestParam
注解来获取上传的文件,然后将文件保存到指定的路径中。
接下来,我们需要创建一个HTML文件upload.html
,用以展示上传文件的表单。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传示例</title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="/upload">
<input type="file" name="file"/>
<br/>
<input type="submit" value="上传"/>
</form>
</body>
</html>
上面的代码中,我们通过form
标签的enctype
属性指定了表单数据是文件上传类型。
当用户在upload.html
中选择文件后,点击上传
按钮,文件将会被提交到UploadController
中,UploadController
会处理文件并将结果返回。
3. 总结
本篇攻略介绍了如何在SpringBoot中接收Form表单数据,并给出了两个示例:接收普通表单数据和接收文件上传表单数据。希望能够帮助大家更好的理解和使用SpringBoot框架。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot接收 Form 表单数据的示例详解 - Python技术站