Erro: cannot resolve symbol

22 respostas
S

galera to fazendo assim na minha pagina JSP:

<jsp:useBean id=“fachada” class=“Fachada”>
</jsp:useBean>

quando vou executar aparece esse erro:

C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost_\org\apache\jsp\site\index_jsp.java:88: cannot resolve symbol
symbol : class Fachada
location: class org.apache.jsp.site.index_jsp
Fachada fachada = null;
^

alguem pode me ajudar dizendo o que ta havendo e o que devo fazer.

grato

22 Respostas

S

Primeiro você tem de verificar que você importou os pacotes em que estão as suas classes instanciadas na sua tag JSP, se você declarou ela no JSP, não precisa instancia-la novamente.

Um exemplo de impor:

<%@ page import="com.telas.FrameTeste.* %>

Provavelmente é isso, valeu?

S

Outra coisa, normalmente eu utilizo assim:

<jsp:useBean id=“fachada” class=“Fachada” scope=“page” />

Falow

M

teu bean precisa estar em um pacote pra poder ser usado…

S

como assim tem que estar em um pacote. minha classe fachada esta no pacote fachada é isso?
se nao o que devo fazer

M

“sporob”:
como assim tem que estar em um pacote. minha classe fachada esta no pacote fachada é isso?
se nao o que devo fazer

tua classe Fachada precisa de uma instrução package…

R

e tem que estar na pasta
WEB-INF\classes

certo? :roll:

M

“microfilo”:
e tem que estar na pasta
WEB-INF\classes

certo? :roll:

certo

S

galera todas as minhas classes estao em WEB-INF. a minha estrutura de arquivos esta da seguinte maneira:

Web-Inf
classes
produtos
clientes
fachada
venda

essa é minha estrutura onde estou colocando minhas classes. onde devo colocar os meus JSP?

M

normalmente eles residem na raiz da aplicação, no mesmo nivel da pasta WEB-INF

S

fiz tudo conforme indicado. ainda continua dando erro na execução. o erro é o seguinte:

Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: /teste.jsp(8,5) Invalid standard action

org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:83)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:402)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:126)

org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1289)

org.apache.jasper.compiler.Parser.parseElements(Parser.java:1597)

org.apache.jasper.compiler.Parser.parse(Parser.java:171)

org.apache.jasper.compiler.ParserController.doParse(ParserController.java:258)

org.apache.jasper.compiler.ParserController.parse(ParserController.java:139)

org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:237)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:456)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:553)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)

javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

note The full stack trace of the root cause is available in the Tomcat logs.

alguem pode me dizer q danado é isso.

M

pode postar ai pra gente o conteudo do arquivo /teste.jsp??? tu colocou alguma sintaxe errada em alguma ação…

S

eu apenas fiz isso so pra testar:

<html>
<head>
<title>TESTE</title>
<meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859-1”>
</head>

<body bgcolor="#FFFFFF">

<jsp:usebean id=“fachada” class=“Fachada” scope=“page” />

</body>

</html>

o que tem de errado ai?

M

o correto é jsp:useBean e não jsp:usebean!!!

e lembrando q ele deve estar incluso em um pacote pra ser usado com o useBean

S

cara, fiz a modificação e ainda da pau. o erro é:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

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

An error occurred at line: 8 in the jsp file: /teste.jsp

Generated servlet error:
[javac] Compiling 1 source file

C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost_\org\apache\jsp\teste_jsp.java:49: cannot resolve symbol
symbol : class Fachada
location: class org.apache.jsp.teste_jsp
Fachada fachada = null;
^

An error occurred at line: 8 in the jsp file: /teste.jsp

Generated servlet error:
C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost_\org\apache\jsp\teste_jsp.java:51: cannot resolve symbol
symbol : class Fachada
location: class org.apache.jsp.teste_jsp
fachada = (Fachada) _jspx_page_context.getAttribute(“fachada”, PageContext.PAGE_SCOPE);
^

An error occurred at line: 8 in the jsp file: /teste.jsp

Generated servlet error:
C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost_\org\apache\jsp\teste_jsp.java:53: cannot resolve symbol
symbol : class Fachada
location: class org.apache.jsp.teste_jsp
fachada = new Fachada();
^
3 errors

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:127)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:415)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:458)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:553)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

o que é isso?

M

cara… veja bem…

S

ninguem sabe o que posso fazer nao. to arrancando os cabelos.

obrigado

M

ow my god… vc deve especificar um package pra tua classe Fachada, e deixar tudo em web-inf/classes… por ex, se a classe Fachada tem a instrução:

package fucking.shit;

ela deve estar compilada em WEB-INF/classes/fucking/shit/Fachada.class, e para usa-la com o useBean é só especificar o nome completo incluindo o pacote:

&lt;jsp&#58;usebean id="fachada" class="fucking.shit.Fachada" scope="page"/&gt;
S

cara, minha class Fachada já esta dentro de um pacote chamado fachada. mesmo assim o erro continua???

M

e la vamos nóóósss… ta, vejamos… coloca ai a estrutura de diretórios q tu tens… de tudo quanto é classe… e exatamente a linha useBean q tu ta usando…

S

TOMCAT 5
webapps
ROOT
WEB-INF
classes
clientes
produtos
venda
util
fachada

o codigo que uso é:

<html>
<head>
<title>TESTE</title>
<meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859-1”>
</head>

<body bgcolor="#FFFFFF">

<jsp:useBean id=“fachada” class=“Fachada” scope=“page” />

</body>

</html>

quando coloco: <jsp:useBean id=“fachada” class=“fachada.Fachada” scope=“page” />

aparece uma pagina em branco. sem nada

M

se a tua classe está em WEB-INF/classes/fachada.Fachada, e ainda da erro… eu não sei mais oq fazer…

S

valeu cara pela ajuda

Criado 4 de fevereiro de 2005
Ultima resposta 14 de fev. de 2005
Respostas 22
Participantes 4