想要使用jsp显示文件列表

我是玻璃鱼服务器netbeans的新手。我的HTML代码看起来像,

  
Select a file:


当提交请求时,我想将上传的文件存储在驱动器(ex.c:/ upload)中,iframe(id = upload)应该显示文件夹中的文件(c:/ upload)。 有谁知道我在哪里可以找到一些示例代码来说明这是如何完成的?

要在servlet中处理HTTP multipart/form-data请求,请使用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 迭代File[]

   (${file.length / 1024}KB)

请注意,这当然是开放的更多(UI)微调,但这取决于你。 我假设您已经了解HTML / JSP / Servlet的基础知识。

你可以这样做

  <%! Object path; public void getDirectory(String path, Vector files, Vector folder){ File directory=new File(path); File []file=directory.listFiles(); for(int i=0; i  <% path=session.getAttribute("fileName"); Vector file=new Vector(), folder=new Vector(); getDirectory("C:/FileFolderProject/WebContent/"+path,file,folder); out.println(""); for(int a=0; a  <% } out.println(""); %> 
file <% out.println(""+file.elementAt(a).toString()+"
"); %>