这是class文件中的;目的是得到指定目录下的文件名,把文件名放入到一个数组里返回;package com.bean;import java.io.*;public class testBean { public String[] file(){
String srcDirectory = "c:\\hd"; //注释:在C盘目录hd下
File srcDir = new File(srcDirectory);
String fileList[] = srcDir.list();
String srcFileName;
String fName[]=new String[10];
for (int i = 0; i < fileList.length; i++) {
srcFileName = srcDirectory + "\\" + fileList[i];
fName[i]=srcFileName.toString();
}
return fName; //返回数组fName;
}
}
main.jsp文件:目的就是把在testBean中得到文件名显示出来
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="com.bean.testBean"%><html>
<head>
<title>文件的读写</title>
</head> <body>
<form name="form1" method="get" action="testRead.jsp">
<%//读取文件内容
//hd.result(); %>
<tr>
<td>
显示文件名:
</td>
</tr>
<tr>
<td>
<select>
<%testBean hd = new testBean();
String NM[]=hd.file();
for(int i=0;i<=NM.length;i++){
%>
<option>
<%out.println(NM[i]);%>
</option>
<%}%>
</select></form></body>
</html>
就是这样的 ,但是运行的时候却报错:
org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: in the jsp file: main.jsp
Tomcat 5.0\work\Catalina\localhost\first\org\apache\jsp\main_jsp.java:64: incompatible types
found : void
required: java.lang.String[]
String NM[]=hd.file();
1 error
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:128)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:413)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:453)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:437)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
哪位大虾,救救 我, 我很菜的,不知道是什么原因!
这句话指出你的tomcat下的work目录下面没有你的工程目录哦!
所以你要重启一下tomcat试试
原来的不要了哦!
这个错误其实就是提示你找不到JSP文件哦1
required: java.lang.String[]
String NM[]=hd.file();
1 error
还有你的JSP里面这句话有出哦
在编译的时候就出错了啊!
public class testBean {
public List fileN(){
String srcDirectory = "c:\\file";
File srcDir = new File(srcDirectory);
String fileList[] = srcDir.list();
String srcFileName;
List ss=new ArrayList();
for (int i = 0; i < fileList.length; i++) {
srcFileName = srcDirectory + "\\" + fileList[i];
ss.add(srcFileName);
}
return ss;
}
}main.jsp文件:把JAVA文件里得到的ss数组的值显示到当前页面<form name="form1" method="get" action="testRead.jsp">
<tr><td>
显示数组的值:
</td></tr>
<tr><td>
<select name="fileName">
<%testBean hd = new testBean();
List NM=hd.fileN();
for(int i=0;i<=NM.size;i++){
%>
<option>
<%out.println(NM.get(i));%>
</option>
<%}%>
但是会出现这样的异常报告:
Tomcat 5.0\work\Catalina\localhost\first\org\apache\jsp\test\mian_jsp.java:66: cannot resolve symbol
symbol : method fileN ()
location: class com.bean.testBean
List NM=hd.fileN();
^
1 error真的搞不懂到底哪出什么错误了 ;