Thymeleaf从文件夹中获取所有图像

时间:2018-01-08 14:19:17

标签: java html thymeleaf

是否可以从文件夹中获取所有图像?

我的意思是我有像这样的图像结构

folder1 ---
   ---image1.jpg
   ---image2.jpg
   ---image3.jpg

folder2 ---
   ---image1.jpg
   ---image2.jpg

如何在html中显示所有图像?

@edit

只有我的尝试:

<p th:each="i: ${#numbers.sequence(1, 5)}">
        <img th:src="@{/folder/001/0.jpg}"/>
    </p>

1 个答案:

答案 0 :(得分:1)

Thymeleaf没有内置任何内容来读取文件夹并获取其中的文件列表。如果您正在尝试动态构建某些内容(我不确定您是否正在尝试这样做),那么您需要在控制器中读取它(无论Java代码将上下文放在一起)您要发送给Thymeleaf的变量地图或模型。

如果您只是尝试执行五个编号图像的静态列表,例如示例代码,那么您需要在表达式中对“each”变量进行连接以生成图像URL,如下所示:

<p th:each="i: ${#numbers.sequence(1, 5)}">
    <img th:src="@{${'/folder/001/' + i + '.jpg'}}"/>
</p>

这将生成以下HTML:

<p>
    <img src="/context/folder/001/1.jpg" />
</p>
<p>
    <img src="/context/folder/001/2.jpg" />
</p>
<p>
    <img src="/context/folder/001/3.jpg" />
</p>
<p>
    <img src="/context/folder/001/4.jpg" />
</p>
<p>
    <img src="/context/folder/001/5.jpg" />
</p>

还有更多创建Link URLs in the documentation的示例。这些展示了如何使用表达式构造基本URL或构造任何查询参数(尽管通常在加载图像时不使用查询参数)。