【问题标题】:Only a type can be imported只能导入一个类型
【发布时间】:2012-09-10 23:43:07
【问题描述】:

有很多关于这个的线程,但是我没有成功并使它工作。我正在尝试从 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)

谢谢!

【问题讨论】:

  • 感谢您的帮助。看来事情设置正确。该类位于正确的目录中,结构似乎很好。自从阅读了这些消息后,我把我所有的东西都放到了一个 IDE 中。 (Eclipse) 看看这是否有帮助,它会返回相同的东西。 “HelloWorld 无法解决” 称它为夜晚的绅士。再次感谢您的帮助。如果你不知道的话,我对 java 还是很陌生......所以我可能有一些愚蠢的事情发生。

标签: java class jsp


【解决方案1】:

尝试在 &lt;html&gt; 块之前导入。我认为应该首先在文档中进行导入。 如果这不起作用,请检查您的项目目录。确保它们位于正确的文件夹中。对于示例,您的 HelloWorld 类应位于:

C:/Tomcat/webapps/yourApp/WEB-INF/classes/org/confucius

【讨论】:

    【解决方案2】:

    我又看了一遍,你的代码是对的。

    也许你应该像Tomcat一样清理servlet服务器,删除工作路径(Tomcattomcat/work),重新部署你的项目并重新启动服务器。

    【讨论】:

    • 好的...它已在 Eclipse 中修复。我设置了本机库路径,错误消失了。明天我会尝试重新部署,看看效果如何。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 2017-12-20
    • 2013-04-04
    • 2016-06-09
    • 2011-10-01
    • 1970-01-01
    • 2016-11-22
    相关资源
    最近更新 更多