我有一个 jsp proyect 作为表示层来显示来自 java 类的函数的结果(一个简单的字符串)。这个类在 src 目录中。
当我尝试运行时出现以下错误:
org.apache.jasper.JasperException: Unable to compile class for JSP:
然后:
parser cannot be resolved to a type
我的jsp代码是:
<%
String input="ebnf a{non terminal A;}";
Symbol tree=null;
parser p=null;
InputStream entrada=null;
analex analizador;
try{
entrada=new ByteArrayInputStream(input.getBytes("UTF-8"));
analizador=new analex(entrada);
p=new parser(analizador);
tree=p.parse();
}catch(Exception e){
out.println("ERROR");
}
finally{}
out.println("CORRECTO");
ConDiaCClass cdc=Singleton.getInstance();
out.println(cdc);
%>
实际上,我在使用 ConDiaCClass 和 analex 类时也遇到了同样的问题。
我没有用 Eclipse 创建这些类。它们来自另一个项目,但它们都位于 src 目录中(java 类应该位于该目录中)。看来jsp无法识别它们。
最佳答案
你应该add the necessary import statement s 在 jsp 的开头。示例:
<%@ page import="java.util.List" %>
<%@ page import="yourpackage.parser, yourpackage.analex" %> //and on
一个建议:让你的类(class)遵循 Java Code Conventions proposed by Oracle .这是一个很好的指南,可以帮助其他人轻松阅读您的代码(当您想要审查/改进代码时,它会对您自己有所帮助)。
关于java - 无法解析为类型(jsp + eclipse),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10679082/