为什么更新方法不是在调用?

时间:2015-06-11 19:35:20

标签: spring hibernate jsp

我有问题。当我点击更新表单上的图片时,更新方法不会调用。我在输出日志窗口中看到了。只能更新我表格中第一行的图像。

当我更新第一行时:

  

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>

0 个答案:

没有答案