Java 根据用户选择的索引显示文件
我正在使用jsp开发一个网页。我正在显示本地磁盘上的文件列表,我希望在单击时打开正确的文件。 这就是我到目前为止所做的Java 根据用户选择的索引显示文件,java,jsp,servlets,Java,Jsp,Servlets,我正在使用jsp开发一个网页。我正在显示本地磁盘上的文件列表,我希望在单击时打开正确的文件。 这就是我到目前为止所做的 <select id="folder" name="folder"> <option>- SELECT -</option> <% for (int i=0; i<folder.length; i++) { %>
<select id="folder" name="folder">
<option>- SELECT -</option>
<%
for (int i=0; i<folder.length; i++) { %>
<option value="<%= folder[i] %>"><%= folder[i] %></option>
<% }
%>
</select>
问题是,在中的servlet中,只能指定一个文件显示在网页上
如何设置servlet以打开列表中选定的文件?您的代码中有问题吗?在我看来,你做事情的方式是正确的。我认为问题在于servlet部分,我希望servlet打开所选的文件。目前,它只打开我在FileInputStream中指定的文件。您可以将要在href链接中打开的文件的名称作为url参数传递,并使用request.getParameter(paramName)在servlet中检索此参数;当我这样做的时候,我得到了空值。你能发布你的servlet的完整代码吗?你的代码中有问题吗?在我看来,你做事情的方式是正确的。我认为问题在于servlet部分,我希望servlet打开所选的文件。目前,它只打开我在FileInputStream中指定的文件。您可以将要在href链接中打开的文件的名称作为url参数传递,并使用request.getParameter(paramName)在servlet中检索此参数;当我这样做的时候,我得到了空值。你能发布你的servlet的完整代码吗?
//open file in folder B
if (s!= null && s.equals(folder[1])) {
String subfolder2 = folder[1];
String folderfilelist2 = dir + "\\" + subfolder2 + "\\" + "pdf";
File completefolder2 = new File(folderfilelist2);
completefolder2.getParentFile().mkdirs();
File[] file_array2 = completefolder2.listFiles();
out.print("<table width=1200><tr>");
out.print("<p><th width=30><font size=\"6\">File under Company B</th></p>");
out.print("</tr></table>");
//create table
out.print("<table width=1200><tr>");
out.print("<th width=50><b>No</b></th>");
out.print("<th width=400><b>File Name</b></th>");
out.print("<th width=200><b>Date Converted</b></th>");
out.print("<th width=100><b>Mark File</b></th>");
out.print("<th width=100><b>Download</b></th>");
out.print("<tr><th colspan=5><hr></th></tr>");
out.print("</tr></table>");
//list file
for (int i = 0; i < file_array2.length; i++) {
out.print("<table width=1200><tr>");
out.print("<th width=50><font size=\"4\">" + (i +1 ) + "</font></th>");
out.print("<th width=400><font size=\"4\"><a HREF='openfile'"+ file_array2[i].getName() + "\">" + file_array2[i].getName() + "</a></th>");
out.print("<th width=200><font size=\"4\">" + df.format(new Date( file_array2[i].lastModified())) + "</font></th>");
out.print("<th width=100> <input type='checkbox' name='selectedfile' value="+ file_array2[i].getName() +"\"></td>");
out.print("<th width=100><a href='downloadfile'>Download</a></td>");
out.print("</tr></table>");
}
out.print("<th width=400><font size=\"4\"><a HREF='openfile'"+ file_array2[i].getName() + "\">" + file_array2[i].getName() + "</a></th>");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
response.setContentType("APPLICATION/PDF");
response.setHeader("Content-Disposition", "inline; filename=\""
+ file_array1[1].getName() + "\"");
FileInputStream fileInputStream = new FileInputStream(completefolder2 + "\\" + file_array2[1].getName());
int q;
while( (q = fileInputStream.read()) != -1 ) {
out.write(q);
}
fileInputStream.close();
out.close();
}