我想在我的spring @Controller中处理jsp页面的文件和复选框值,我的映射如下所示。
@RequestMapping(value = "/uploadFile/", method = RequestMethod.POST)
@ResponseBody
public String uploadFile(HttpServletRequest request, @RequestParam("uploadToCheck") String uploadToCheck) {
jsp页面:
Select a file to upload: <br />
<form action="/uploadFile/" method="post" enctype="multipart/form-data">
<input type="file" name="file" size="50"/>
<br /> <br />
<input type="checkbox" name="uploadToCheck" id="uploadToCheck"/> Upload data into db
<br />
在我的spring控制器中,我无法使用@RequestParam获取“uploadToCheck”的值。
我调试了REST调用跟踪,如下所示。
------WebKitFormBoundary6EG9FuRGgpq4BwKj
Content-Disposition: form-data; name="file"; filename="new-xcel.xls"
Content-Type: application/vnd.ms-excel
------WebKitFormBoundary6EG9FuRGgpq4BwKj
Content-Disposition: form-data; name="uploadToCheck"
on
------WebKitFormBoundary6EG9FuRGgpq4BwKj--
有谁知道如何获得两种形式相同的输入值。应该在HttServletRequest对象或@RequestParam中访问它吗? 如果没有,那么替代解决方案是什么?
答案 0 :(得分:1)
您可以在控制器上使用@RequestPart for file和@RequestParam复选框。
public String uploadFile(@RequestParam boolean uploadToCheck, @RequestPart("file") MultipartFile file) String uploadToCheck) {}
还有一件事需要记住。如果选中该复选框,则返回true。处理复选框的方法很少。看一些示例并根据您的需要使用它。我刚刚提供了如何获取文件和复选框值的选项。希望这会有所帮助。