要使用jsp显示文件列表
我是使用glassfish服务器来使用netbeans的新手。我的html代码如下所示:
<html> <body>
<form id="file_upload_form" method="post" enctype="multipart/form-data" action="upload.java">
<div style="float:center">
<center>
Select a file:
<input type="file" name="first" />
<input type="submit" name="button" value="upload" />
</center>
</div>
<center>
</br>
</br>
<iframe id="upload" style="background-color:white;" width=90% height=80%></iframe>
</center>
</form>
</body>
</html>
提交请求时,我想将上传的文件存储在drive(ex.c:/ upload)中,而iframe(id = upload)应该在文件夹(c:/
upload)中显示文件。有谁知道我在哪里可以找到一些示例代码来说明如何完成此工作?
回答:
要multipart/form-data
在Servlet中处理HTTP 请求,请使用Apache Commons
FileUpload。您最终应该在中上传文件FileItem
。它有一种write()
方法。
String filename = FilenameUtils.getName(fileItem.getName()); fileItem.write(new File("c:/upload", filename)); // Name must be unique!
有关使用指南和更多代码示例,只需查看其《用户指南》。
要显示文件夹中的文件列表,您需要使用java.io.File
API,它具有一种listFiles()
返回特定路径中所有文件(路径)列表的方法。在预处理servlet中执行此操作,该servlet将请求转发到JSP以显示列表。
File[] files = new File("c:/upload").listFiles();request.setAttribute("files", files);
request.getRequestDispatcher("/WEB-INF/uploads.jsp").forward(request, response);
在/WEB-INF/uploads.jsp
文件中,使用JSTL<c:forEach>
遍历File[]
。
<c:forEach items="${files}" var="file"> <c:out value="${file.name}" /> (${file.length / 1024}KB)<br/>
</c:forEach>
请注意,当然可以进行更多(UI)微调,但这取决于您。我假设您已经了解HTML / JSP / Servlet基础。
以上是 要使用jsp显示文件列表 的全部内容, 来源链接: utcz.com/qa/408027.html