Error JSP + Bean

3 respostas
D

Salve Galera, estou montando um código aqui sobre javamail e está dando o seguinte erro:

org.apache.jasper.JasperException: /enviaremail.jsp(8,0) The value for the useBean class attribute jspbrasil.Email is invalid. org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:376) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150) org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1217) org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219) org.apache.jasper.compiler.Node$Root.accept(Node.java:456) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) org.apache.jasper.compiler.Generator.generate(Generator.java:3261) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244) org.apache.jasper.compiler.Compiler.compile(Compiler.java:461) org.apache.jasper.compiler.Compiler.compile(Compiler.java:442) org.apache.jasper.compiler.Compiler.compile(Compiler.java:430) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:274) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

Minha estrutura está assim:


Javamail
|
+ jspbrasil (minha classe Email.class)
|
+ enviaremail.jsp
|
+ preencheremail.html

e no jsp estou chamando assim o bean:
[code]
<%@ page import="jspbrasil.Email" %>
<jsp:useBean id="email" class="jspbrasil.Email"/>
<%
[code]

O que há de erado então?[/code]

3 Respostas

E

eae blz???

cara eu tava vendo ai oq vc postou aki

hipotese 1:

quanto a essa estrutura é empacotamento???

bom na caso de sim
o erro é um detalhe no código:

que está assim:

&lt;%@ page import="jspbrasil.Email" %&gt; 
&lt;jsp&#58;useBean id="email" class="jspbrasil.Email"/&gt; 
&lt;%

mas pelo que eu vi na descrição da estrutura( acredito ser de empacotamento ), deveria estar assim:

&lt;%@ page import="Javamail.jspbrasil.Email" %&gt; 
&lt;jsp&#58;useBean id="email" class="jspbrasil.Email"/&gt; 
&lt;%

hipotese 2:

o seu pacote for mesmo jspbrasil e a estrutura da sua aplicação for a descrita, vc tem que pegar esse seu pacote( pasta com os .class )
e coloca-lo dentro do diretório da aplicação WEB-INF/classes

com isso teoricamente irá funcionar caso não tenha passado nenhum detalhe por despercebido :grin:

confere isso ai :wink:

[]'s
Erko Bridee

M

Salve…

O problema deve ser porque não foi referenciado o Bean a aplicação, desta forma você terá que fazer da seguinte forma, ou fazer como o AnjoSupremo lhe informou colando a pasta com seus beans na web-inf/classes ou gerando um arquivo .jar para referenciar este pacote.
Importante: por exemplo você gere o arquivo .jar com outro nome que não seje da pasta por exemplo beansEnvia.jar na referenciação do bean ao invés de usar na invocação dele em … class=“nomeDoPacote.SuaClasse”… use class=“beansEnvia.SuaClasse” e este arquivo .jar deve ser colocado na pasta web-inf/lib. Também resolve seu problema.

Até mais.
:maestro:

D

Opa AnjoSupremo e macosousa

Empacotei a bagaça toda … declarei… e está me apresentando agora o erro:

C:\Tomcat\work\Catalina\localhost\Email\org\apache\jsp\jsp\enviaremail_jsp.java:8: cannot access br.mail.Email
bad class file: C:\Tomcat\webapps\Email\WEB-INF\classes\br\mail\Email.class
class file contains wrong class: src.br.mail.Email
Please remove or make sure it appears in the correct subdirectory of the classpath.
import br.mail.Email;

a minha estrura está:

E-mail &#40;Pasta Raiz&#41;
     |
     + JSP 
     |
     + WEB-INF 
          |
          + SRC &#40;\br\mail e os arquivos .java&#41;

          |
          + classes &#40;\br\mail e os arquivos .class&#41;

na chamada do jsp ao bean dei um import da seguinte maneira:

&lt;%@ page import="javax.mail.internet.*,javax.mail.*"%&gt;
&lt;%@ page import="br.mail.Email"%&gt;

e o erro foi o apresentado acima!!!

O que fazer?
Grato pela atenção
[/quote]

Criado 31 de agosto de 2004
Ultima resposta 24 de set. de 2004
Respostas 3
Participantes 3