У меня есть следующее сопоставление, которое извлекает некоторые детали «сцены» и показывает их на странице jsp.
@RequestMapping(value="/{id}",method = RequestMethod.GET)
public ModelAndView showScene(@PathVariable String id){
ModelAndView mv = new ModelAndView("/Scene/scene");
//retrieving Scene using Hibernate
Scene scene = service.getScene(Long.parseLong(id));
mv.addObject("name", scene.getName());
mv.addObject("desc", scene.getDescription());
//etc....
return mv;
}
Моя проблема заключается в том, что одним из полей в объекте сцены является изображение png как byte [] иМне нужно показать это.Я понимаю, что могу создать еще один контроллер, который будет обрабатывать все запросы расширений .png и возвращать байт [].Что-то вроде:
<servlet-mapping>
<servlet-name>PNGHandler</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
и отправьте ссылку на изображение как:
mv.add("image", "image/"+scene.getId()+".png");
, но тогда мне нужно будет снова получить байт [] в контроллере png, и это будет стоить мне дополнительных затрат.Спящая транзакция.Можно ли как-нибудь обойтись, чтобы сохранить эту транзакцию и не получить байт [] дважды?
Заранее спасибо.