11

(このトピックに関する他の質問を読みましたが、どれも役に立ちませんでした)

さて、Java クラスを JSP ファイルにインポートしようとしていますが、Tomcat で次のエラーが表示されます。

org.apache.jasper.JasperException: JSP のクラスをコンパイルできません:

An error occurred at line: [16] in the generated java file: [I:\path\to\index_jsp.java]
Only a type can be imported. org.runas.XKCDUtils resolves to a package

An error occurred at line: 7 in the jsp file: /index.jsp
XKCDUtils cannot be resolved
4:  String data = null;
5:  int finalComic = 1;
6:  int comicNo = 1;
7:  finalComic = XKCDUtils.getFinalComic();
8: 
9:  if (request.getParameter("page") != null)
10:         comicNo = Integer.parseInt(request.getParameter("page"));

私のJSPファイルのインポートステートメントは次のとおりです。

<%@page import="java.io.*, java.net.*, org.runas.XKCDUtils" %>

私のディレクトリ構造の関連セクションは次のとおりです。

webapps
`-ROOT
 `-index.jsp
 |-WEB-INF
  `-web.xml
  |-classes
   `-org
    `-runas
     `-XKCDUtils.class

私は混乱しorg.runas.XKCDUtils resolves to a packageていますが、それは明らかにクラスファイルであり、正しいディレクトリであると私は信じています。

助けてください!

(そして、スクリプトレットを使用していることで私を非難しないでください。私はそれらをクリーンアップしようとしています!)

4

3 に答える 3

2

エラーの正確な原因はわかりませんが、変更しました

<%@page import="java.io.*, java.net.*, org.runas.XKCDUtils" %>

<%@page import="java.io.*, java.net.*, org.runas.*" %>

そしてそれはうまくいきました。エラーの私の解釈は、何らかの理由で Tomcat が XKCDUtils をパッケージ内のクラスではなくパッケージと見なしているということです。* を使用してインポートすると、クラスをインポートすることが明確になります。

于 2013-07-11T16:10:20.643 に答える