Aeg*_*Los 8 java eclipse jsp types
我有一个jsp proyect作为表示层来显示来自java类的函数的结果(一个简单的字符串).该类位于src目录中.
当我尝试运行时,我得到这个错误:
org.apache.jasper.JasperException:无法为JSP编译类:
然后:
解析器无法解析为类型
我的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);
%>
Run Code Online (Sandbox Code Playgroud)
实际上我也遇到了与ConDiaCClass和analex类相同的问题.
我没有用Eclipse创建这些类.它们来自另一个项目,但它们都放在src目录中(java类所在的目录).似乎jsp无法识别它们.
您应该在jsp的开头添加必要的import语句.一个样品:
<%@ page import="java.util.List" %>
<%@ page import="yourpackage.parser, yourpackage.analex" %> //and on
Run Code Online (Sandbox Code Playgroud)
建议:使您的类遵循Oracle提出的Java代码约定.这是一个很好的指南,可以帮助其他人轻松阅读您的代码(当您想要查看/改进代码时,它会帮助您自己).
小智 6
清理项目,然后按如下方式重新加载JRE:Java Build Path - > Libraries - > Add Library - > JRE System Library
最后只是类没有获得可见性属性。我没有它们的公共属性,因此尽管 jsp 知道它们在哪里,但它们无法解析为类型。
这是一个 JFlex/CUP 问题:JFlex 和 CUP 创建没有可见性属性的类(analex 和解析器)。
谢谢您的回答。下次我会尝试更具体地回答我的问题。
| 归档时间: |
|
| 查看次数: |
48205 次 |
| 最近记录: |