How to convert scriptlets into jstl tags
本问题已经有最佳答案,请猛点这里访问。
我试图将这些脚本转换成JSTL标记,但没有成功,使用这些代码行是否不可行,如果可以,怎么做?谢谢
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <% //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] %> (<%= Long.toString(fileObjects[i].length()) %> bytes long) <% } } %> |
脚本中的所有代码都必须在Java代码中执行,并将其传递给JSP。我不知道您是否使用任何框架来实现这一点,但是在Spring MVC之类的框架中这是很容易的。
在你的例子中,你应该在Java中创建一个bean,它需要你所需要的属性,比如IS目录、长度、文件名等等。然后你创建一个bean的列表,并将其传递给JSP。最后,您只需使用jstl的foreach循环(http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/c/foreach.html)迭代JSP中的bean列表。你可以在谷歌上搜索,你会找到很多关于如何做到这一点的例子。
这样做不需要使用脚本。