3

これについてはかなりの数のスレッドがありますが、私は失敗してこの作業を行っています。jspページからクラスを呼び出そうとしています。

package org.confucius;  

public class HelloWorld {  
    public static String getGreeting ()  
    {  
      return "Hello World!";  
    }  
}  

HelloWorld.jsp

<html>  
  <head>  
       <%@ page import="org.confucius.HelloWorld" %>  
  </head>  
  <body>  
       <p><%= HelloWorld.getGreeting() %></p>  
  </body>  
</html>

次のエラーが返されます。誰かがこれを機能させるために必要なすべての構成を教えてもらえますか?コンパイルされたクラスはCLASSPATHにあります。

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 6 in the generated java file
Only a type can be imported. org.confucius.HelloWorld resolves to a package

An error occurred at line: 6 in the jsp file: /HelloWorld.jsp
HelloWorld cannot be resolved

Stacktrace:

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

ありがとう!

4

2 に答える 2

0

<html>ブロックの前にインポートしてみてください。ドキュメントの最初にインポートを行う必要があると思います。それでもうまくいかない場合は、プロジェクト ディレクトリを確認してください。それらが正しいフォルダにあることを確認してください。たとえば HelloWorld クラスは次の場所にある必要があります。

C:/Tomcat/webapps/yourApp/WEB-INF/classes/org/confucius
于 2012-09-11T01:56:30.480 に答える
-1

もう一度見ましたが、あなたのコードは正しいです。

のようにサーブレット サーバーをクリーンアップしTomcat、作業パス ( 内) を削除し、Tomcatプロジェクトtomcat/workを再デプロイして、サーバーを再起動する必要があります。

于 2012-09-11T01:09:19.767 に答える