Отображение списка изображений в JSP - PullRequest
0 голосов
/ 12 мая 2019

У меня проблемы с отображением списка изображений в JSP.У меня есть список изображений, который хранится в директоре проекта, и список изображений передается в файл JSP из сервлета, но он не отображается.Мне нужна помощь с моим тегом jsp.

В файле JSP у меня есть

<c:forEach var="img" items="${imgUrlList}">
    <img src="<c:url value="${img}"/>"/>

</c:forEach>

// servlet

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        List imgUrlList = new ArrayList();

        File imageDir = new File(getServletContext().getRealPath("/images"));
        File[] files = imageDir.listFiles();

            if (files!= null) {

                for (File imageFile : files) {
                    String imageFileName = imageFile.getName();
                    imgUrlList.add(imageFileName);
                }
            }
            else {
                System.out.println("directory is empty");
            }

        req.setAttribute("imgUrlList", imgUrlList);
        System.out.println(imgUrlList.toString());

        RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/test/test.jsp");
        dispatcher.forward(req, resp);

Ответы [ 2 ]

1 голос
/ 12 мая 2019

Атрибут изображения src относится к корневому контексту вашего веб-приложения.Изображения хранятся вне папки WEB-INF.Создайте папку «images» в папке «WebContent» вашего проекта.

WEB-INF обычно используется для ресурсов, которые используются такими контейнерами, как jsps, а другие ресурсы обычно находятся в папках, относящихся к папке WebContent.

0 голосов
/ 12 мая 2019

Я исправил это, добавив мой JSP.

<c:forEach var="img" items="${imgUrlList}">

    <img src="images/${request.contextPath}${img}"/>

</c:forEach>
...