Отображение изображения базы данных MVC весна

StackOverflow https://stackoverflow.com/questions/1230071

  •  22-07-2019
  •  | 
  •  

Вопрос

В контексте приложения MVC (в данном случае с использованием Spring MVC), учитывая, что у меня есть некоторые пути к изображениям, хранящиеся в БД.Как я могу отобразить их в представлении?

Задача контроллеров - загрузить их, а затем передать в представление?Если да, то как это делается в Spring MVC с использованием JSP?

Спасибо

Это было полезно?

Решение

Возможно, задачей контроллера является передача их в представление как часть модели, но я думаю, что задача уровня сервиса заключается в получении изображения.

ОБНОВЛЯТЬ:Юреген Хеллер показывает, как это сделать с помощью аннотированных контроллеров. здесь.

Другие советы

Это действительно зависит от того, как получаются реальные изображения и для чего они используются.

Например, если вы создаете веб-сайт для обмена фотографиями, где изображения являются первоклассными гражданами, я полностью согласен с ДаффимоОтвет - они должны быть загружены сервисным уровнем и быть частью модели.

С другой стороны, если рассматриваемые изображения носят чисто презентационный характер и доступны как общедоступные изображения в вашем веб-приложении (например, вы можете отображать статус какого-либо процесса как красный/желтый/зеленый свет), вы можете визуализировать их. прямо на виду.Конечно, в этом сценарии довольно странно хранить реальные пути к изображениям в базе данных — я бы предпочел вместо этого представить, что путь к изображению будет храниться где-то в пакете ресурсов.

Используя последний подход, предположительно, имеющиеся у вас пути к изображениям относятся к некоторой «базовой» папке, а полный путь к изображению будет выглядеть примерно так: ${prefix}/${base}/${imagePath}:

  • prefix, в зависимости от вашей конфигурации развертывания, может быть либо явно указано где-то в конфигурации (например, если у вас есть выделенный сервер изображений), ИЛИ быть таким простым, как /context где context это путь, по которому развертывается ваше веб-приложение (если все обслуживается с одного простого сервера, без балансировки нагрузки и т. д.)
  • base будет взято из конфигурации (или может быть пустым)
  • imagePath это то, что вы получаете от модели

При использовании описанного выше подхода рендеринг пути изображения непосредственно через JSP должен быть тривиальным.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top