java - Spring Controller 获取空对象

标签 java spring jsp spring-mvc jspx

我通过 jsp 表单向 spring Controller 发送一个对象。

JSP:

<form:form modelAttribute="uploadItem" action="/uploadObject" method="post" enctype="multipart/form-data">

<form:input path="fileData" accept="audio/mpeg" type="file" id="file-upload" name="file-upload" />

<form:input type="text" path="title" id="upload-title" name="upload-title"/>

<input type="image" src="..." alt="Upload"/>

</form:form>

模型服务:

 public void fillUploadMelodyModel(Model model) {
    fillAdminRootModel(model);
    model.addAttribute("uploadItem", new UploadedItem());
}

上传的项目:

public class UploadedItem {
  private CommonsMultipartFile fileData;
  private String title;
}

Controller :

 @RequestMapping(value = "/uploadObject", method = RequestMethod.POST)
    public String doUpload(UploadedItem uploadItem, BindingResult result, Principal principal) {
//at this point I get an empty object (null null values)
}

有什么问题吗?如何在jsp中将对象传递给 Controller ​​?

最佳答案

尝试像这样更改你的 Controller

@RequestMapping(value = "/uploadObject", method = RequestMethod.POST)
public String doUpload(UploadedItem uploadItem, 
                      BindingResult result, 
                      @RequestParam("fileData") MultipartFile file,
                      @RequestParam("title") String title,
                      Principal principal) {
//Here you should receive your parameters
}

关于java - Spring Controller 获取空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41937996/

相关文章:

java - 无法将Gradle Cloudbees插件安装到Maven本地

java - SwingWorker 得到一个结果

java - FINS OMRON PLC Java 命令故障排除

java - 我的 Stack 类中的 Pop 或 Push 方法是否写得不正确?

java - 适用于 Java EE 开发人员的 Eclipse IDE 与 Eclipse Juno 之间的区别

jsp - 如何安装JSTL?绝对uri : http://java. sun.com/jsp/jSTL/core无法解析

java - 将连续的字符串数据拆分为所需的垂直输出

java - 如何将 test 和 main 的属性注入(inject)到多模块 gradle spring boot 项目的每个子模块中?

java - 将 mailx 设置为 Java SMTP 配置

java - Spring,数字验证,默认值,警告消息