我有问题。当我点击更新表单上的图片时,更新方法不会调用。我在输出日志窗口中看到了。只能更新我表格中第一行的图像。
当我更新第一行时:
Hibernate:更新shoe_goods set description =?,image =?,in_stock = ?, name =?,price = ?, size =?,web_store_id =?其中id =?
当其他行 - 没有。
我将db中的图像保存为byte。 这是我显示图像的方法:
控制器:
@RequestMapping(value = "/imageController/{id}")
@ResponseBody
public byte[] getImages(@PathVariable int id) {
return shoeGoodsService.getById(id).getImage();
}
JSP:
<img src="/imageController/${goods.id}" alt="Image" />
DAO类中的代码:
@Override
public void update(ShoeGoods shoeGoods) {
sessionFactory.getCurrentSession().merge(shoeGoods);
sessionFactory.getCurrentSession().getTransaction().commit();
}
服务类代码:
@Override
public void update(ShoeGoods shoeGoods) {
shoeGoodsDAO.update(shoeGoods);
}
控制器中的代码,当更新方法只调用表中的第一行时:
@RequestMapping(value="/upload_shoe_image", method = RequestMethod.POST)
public @ResponseBody ModelAndView handleFileUpload1(@RequestParam("file") MultipartFile file){
...
try {
ShoeGoods shoeGoods = shoeGoodsService.getById(goodsId);
shoeGoods.setImage(file.getBytes());
//not call always
shoeGoodsService.update(shoeGoods);
} catch (Exception e) {
e.printStackTrace();
}
...
}
在JSP中:
<form id="send-image-form" method="POST" enctype="multipart/form-data"
action="/upload_shoe_image">
Edit: <input type="file" name="file">
<br />
Save: <input type="submit" id="save-image" value="Upload">
</form>