@RequestMapping(value = "/addFood.do") public String add(Food bean) { try { MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request; String serverPath = request.getSession().getServletContext().getRealPath("/"); MultipartFile fileupload = mrequest.getFile("resfile"); String newFilename = FileUtil.uploadFile(fileupload, 0, serverPath); if (StringUtils.isEmpty(newFilename)) { MessageUtil.addMessage(request, "请上传图片文件"); return ERROR; } bean.setPhoto(newFilename); service.add(bean); MessageUtil.addRelMessage(request, "添加成功.","baseAdd"); return SUCCESS; } catch (Exception e) { e.printStackTrace(); MessageUtil.addMessage(request, "添加失败."); return ERROR; } }
时间: 2024-04-05 09:33:25 浏览: 123
Spring MVC之@RequestMapping注解详解
这是一个使用 Spring MVC 框架实现的添加食品信息的控制器方法。该方法使用 @RequestMapping 注解指定了请求路径为 "/addFood.do",当用户访问该路径时,该方法将被调用。
该方法接收一个 Food 对象作为参数,该对象包含了用户提交的食品信息。在方法内部,首先通过强制类型转换将 request 对象转换为 MultipartHttpServletRequest 对象,然后获取上传文件的 MultipartFile 对象。接着,通过调用 FileUtil.uploadFile() 方法将上传文件保存到服务器中,并返回保存后的文件名。
如果上传文件名为空,则向请求中添加一条错误信息,并返回 ERROR 字符串,表示添加失败。否则,将上传文件名设置到 Food 对象的 Photo 属性中,并调用 service.add() 方法将该对象保存到数据库中。最后,向请求中添加一条成功信息,并返回 SUCCESS 字符串,表示添加成功。如果在任何步骤中发生异常,则将异常信息打印到控制台,并向请求中添加一条错误信息,最后返回 ERROR 字符串,表示添加失败。
阅读全文