Java 如何将Scriptlet转换为jstl标记

Java 如何将Scriptlet转换为jstl标记,java,jsp,jstl,file-handling,scriptlet,Java,Jsp,Jstl,File Handling,Scriptlet,我试着将这些scriptlet转换成jstl标记,但没有成功,这些代码行是否不可行,如果可以,如何做到?谢谢 <% //String file = application.getRealPath("C:/science/"); File f = new File("C:/uploads"); String [] fileNames = f.list(); File [] fileObjects= f.listFiles(

我试着将这些scriptlet转换成jstl标记,但没有成功,这些代码行是否不可行,如果可以,如何做到?谢谢

<% 
        //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)

    <%
            }
        }
    %>

  • (字节长)
脚本中的所有代码都必须在java代码中执行,并将其传递给jsp。我不知道您是否正在使用任何框架来实现这一点,但在SpringMVC这样的框架中这很容易

在您的例子中,您应该在java中创建一个具有所需属性的bean,如isDirectory、length、文件名等。然后创建这些bean的列表并将其传递给jsp。最后,您只需使用JSTL()的forEach循环在jsp中迭代这些bean列表。你可以在谷歌上搜索,你会发现很多关于如何做到这一点的例子

这样做不需要使用scriptlet