2016-05-22 9 views
1

Ich habe versucht, diese Scriptlets in jstl Tags ohne Erfolg, ist es nicht möglich mit diesen Zeilen von Codes, und wenn es wie geht? DankeWie Scriptlets in JSTL-Tags konvertieren

<% 
     //String file = application.getRealPath("C:/science/"); 

     File f = new File("C:/uploads"); 
     String [] fileNames = f.list(); 
     File [] fileObjects= f.listFiles(); 
    %> 
    <UL> 
    <% 
     for (int i = 0; i < fileObjects.length; i++) { 
      if(!fileObjects[i].isDirectory()){ 

    %> 
    <LI> 
     <A HREF="DownloadServlet?value=<%= fileNames[i] %>"><%= fileNames[i] %><u> Download</u></A> 
     <%= fileNames[i] %> 
     &nbsp;&nbsp;&nbsp;&nbsp; 
     (<%= Long.toString(fileObjects[i].length()) %> bytes long) 

    <% 
      } 
     } 
    %> 

Antwort

1

All diesen Code, den Sie in den Skripten haben, müssen Sie es im Java-Code tun und es an den JSP übergeben. Ich weiß nicht, ob Sie ein Framework dafür verwenden, aber dies ist einfach in Frameworks wie Spring MVC.

In Ihrem Fall sollten Sie in Java eine Bohne mit den Eigenschaften, die Sie benötigen, wie isDirectory, Länge, Name der Datei usw. erstellen. Dann erstellen Sie eine Liste dieser Beans und übergeben sie an die JSP. Schließlich iterieren Sie diese Liste der Beans im JSP einfach mit einer ForEach-Schleife von JSTL (http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/c/forEach.html). Sie können darüber googeln und Sie werden viele Beispiele finden, wie Sie dies tun können.

Dazu müssen Sie Scriptlets nicht verwenden.