我无法在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);
答案 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