在 MVC 应用程序的上下文中(在本例中使用 Spring MVC),假设我在数据库中存储了一些图像路径。如何在视图中显示这些内容?

加载它们然后将它们传递给视图是控制器的工作吗?如果是这样,在 Spring MVC 中如何使用 JSP 来完成此操作?

谢谢

有帮助吗?

解决方案

将它们作为模型的一部分传递给视图可能是控制器的工作,但我认为处理获取图像是服务层的工作。

更新:Juregen Hoeller 向您展示如何使用带注释的控制器进行操作 这里.

其他提示

这实际上取决于实际图像的获取方式及其用途。

例如,如果您正在建立一个照片共享网站,其中图像是一等公民,我完全同意 达菲莫的答案 - 它们应该由服务层加载并成为模型的一部分。

另一方面,如果相关图像本质上纯粹是演示性的,并且可以在您的 Web 应用程序中作为公共图像使用(例如,您可能将某些进程的状态显示为红/黄/绿灯),则可以渲染它们直接在视野中。当然,在这种情况下,将实际图像路径保留在数据库中是相当奇怪的 - 我宁愿想象图像路径将存储在资源包中的某个位置。

使用后一种方法,大概您拥有的图像路径是相对于某个“基本”文件夹的,完整图像路径将类似于 ${prefix}/${base}/${imagePath}:

  • prefix, ,根据您的部署配置,可以在配置中的某个位置显式指定(例如,如果您有专用的图像服务器),或者简单地如下 /context 在哪里 context 是部署您的 web 应用程序的路径(如果所有内容都由一台简单的服务器提供,没有负载平衡等...)
  • base 将从配置中获取(或可以为空)
  • imagePath 是你从模型中得到的

使用上述方法直接通过 JSP 渲染图像路径应该很简单。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top