MVC Database Image Display spring - PullRequest
       3

MVC Database Image Display spring

4 голосов
/ 05 августа 2009

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

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

Спасибо

Ответы [ 2 ]

3 голосов
/ 05 августа 2009

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

ОБНОВЛЕНИЕ: Juregen Hoeller показывает, как это сделать с помощью аннотированных контроллеров здесь .

2 голосов
/ 05 августа 2009

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

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...