在JSP中显示图像列表

时间:2019-05-11 23:23:59

标签: java jsp jsp-tags

我无法在JSP中显示图像列表。我有一个存储在项目主管中的图像列表,该图像列表已从servlet传递到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 个答案:

答案 0 :(得分:1)

图像'src'属性相对于Web应用程序的上下文根。图像存储在WEB-INF文件夹之外。在项目的“ WebContent”文件夹中创建“图像”文件夹。

WEB-INF通常用于诸如jsps之类的容器所使用的资源,而其他资源通常位于相对于WebContent文件夹的文件夹中。

答案 1 :(得分:0)

我通过附加我的jsp来修复它。

is_empty_dir() { [[ "*..." = "$(printf %s * .*)" ]]; }

if [[ -d /tmp ]]
then
    cd /tmp
    if is_empty_dir
    then
        echo "/tmp is empty"
    else
        echo "/tmp is NOT empty"
    fi
else
    echo "/tmp does not exist"
fi