【发布时间】:2015-06-02 10:17:21
【问题描述】:
我有下面的控制器:
@Controller
public class UploadComponent {
private static final Logger logger = LoggerFactory.getLogger(UploadComponent.class);
@RequestMapping("/uploadFile")
public String render(@ModelAttribute("fileUpload") FileUpload fileUpload, ModelMap model)throws RepositoryException {
return "components/upload.jsp";
}
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public String uploadFileHandler(@ModelAttribute("fileUpload") FileUpload fileUpload, HttpServletRequest request) {
logger.info("post method executed");
CommonsMultipartFile file = fileUpload.getPhoto();
if (!file.isEmpty()) {
...
...
}
}
模型类如下:
public class FileUpload implements Serializable {
CommonsMultipartFile photo;
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public CommonsMultipartFile getPhoto() {
return photo;
}
public void setPhoto(CommonsMultipartFile photo) {
this.photo = photo;
}
}
}
我的jsp如下:
<form:form commandName="fileUpload" method="POST"action="uploadFile"
enctype="multipart/form-data">
File to upload: <form:input type="file" path="Photo" class="pp_text" /><br />
Name: <form:input type="text" path="name" class="pp_button" /><br /> <br />
<input type="submit" value="Upload"> Press here to upload the file!
</form:form>
我已经在 applicationContext.xml 文件中配置了 CommonsMultipartResolver
当我提交表单时,我无法获取文件。 它没有设置“照片”字段。
所以我在检索照片字段时在 Controller 中得到 NullPointerException。
谁能告诉我问题出在哪里?
我该如何解决这个问题?
【问题讨论】:
标签: spring-mvc magnolia