<!-- 文件上传 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 设置上传文件的最大尺寸为5MB --> <property name="maxUploadSize"> <value>5242880</value> </property> </bean>
<Context docBase="F:\develop\upload\temp" path="/pic" reloadable="false"/>
<tr> <td>商品图片</td> <td> <c:if test="${items.pic !=null}"> <img src="/pic/${items.pic}" width=100 height=100/> <br/> </c:if> <input type="file" name="items_pic"/> </td> </tr>注意:"/pic"路径是绝对路径,不要加${pageContext.request.contextPath }/...
//商品信息修改提交 //在需要校验的pojo前边加@Validated,在需要校验的pojo后边添加BindingResult bindingResult接收校验出错信息 //注意:@Validatedh和BindingResult bindingResult是配对出现,并且在形参中出现的顺序是固定的(一前一后) //value={ValidGroup1.class}指定使用ValidGroup1分组的校验 //@ModelAttribute可以指定pojo回显到页面在request中的key @RequestMapping("/editItemsSubmit") public String editItemsSubmit(Model model,HttpServletRequest request,Integer id,@ModelAttribute("items") @Validated(value={ValidGroup1.class}) ItemsCustom itemsCustom,BindingResult bindingResult,MultipartFile items_pic/*接收商品图片*/ )throws Exception{ //获取校验错误信息 if(bindingResult.hasErrors()){ //输出错误信息 List<ObjectError> allErrors=bindingResult.getAllErrors(); for(ObjectError objectError:allErrors){ //输出错误信息 System.out.println(objectError.getDefaultMessage()); } //将错误传到页面 model.addAttribute("allErrors",allErrors); //可以直接使用model将提交pojo回显到页面 model.addAttribute("items",itemsCustom); //出错之后要跳转的页面 return "items/editItems"; } //上传的图片的原始名称 String originalFilename=items_pic.getOriginalFilename(); //上传图片 if(items_pic!=null&&originalFilename=null&&originalFilename.length()>0){ //存储图片的物理路径 String pic_path="F:\\develop\\upload\\temp\\"; //新的图片名称 String newFileName=UUID.randomUUID()+originalFilename.substring(originalFilename.lastIndexOf(".")); File newFile=new File(pic_path+newFileName); //将内存中的数据写入磁盘 items_pic.transferTo(newFile); //将新的图片名称写到itemsCustom中 itemsCustom.setPic(newFileName); } //调用service更新商品信息,页面需要将商品信息传到此方法 itemsService.updateItems(id, itemsCustom); //重定向到商品的查询列表 return "redirect:queryItems.action"; }
转载请注明出处:http://blog.csdn.net/acmman/article/details/47656831