Pessoal,
Estou comproblemas para rodar um bean…
Veja se estou procedendo certo:
Digito o FncData.java
Compilo p/ FncData.class
Crio o Manifest e o funcao.jar e copios para o diretorio (Utilizo o RealJ)
aplicacao/web-inf/lib
Copio o .class para
aplicacao/classes
No arquivo teste.jsp
eu faço:
<jsp:useBean id="funcao" class="classes.FncData" />
o id="funcao" - é referente ao funcao.jar?
o class="funcao.FncData" - é o diretório aonde deve estar o .class?
Está ocorrendo o seguinte erro:
HTTP Status 500 -
--------------------------------------------------------------------------------
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: -1 in the jsp file: null
Generated servlet error:
[javac] Since fork is true, ignoring compiler setting.
[javac] Compiling 1 source file
[javac] Since fork is true, ignoring compiler setting.
[javac] C:\tomcat\work\Standalone\localhost_\teste_jsp.java:47: cannot resolve symbol
[javac] symbol : class FncData
[javac] location: package classes
[javac] classes.FncData funcao = null;
[javac] ^
[javac] C:\tomcat\work\Standalone\localhost_\teste_jsp.java:49: cannot resolve symbol
[javac] symbol : class FncData
[javac] location: package classes
[javac] funcao = (classes.FncData) pageContext.getAttribute("funcao", PageContext.PAGE_SCOPE);
[javac] ^
[javac] C:\tomcat\work\Standalone\localhost_\teste_jsp.java:52: cannot resolve symbol
[javac] symbol : class FncData
[javac] location: package classes
[javac] funcao = (classes.FncData) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "classes.FncData");
[javac] ^
[javac] C:\tomcat\work\Standalone\localhost_\teste_jsp.java:64: cannot resolve symbol
[javac] symbol : class SimpleDateformat
[javac] location: class org.apache.jsp.teste_jsp
[javac] int dia = Integer.parseInt((new SimpleDateformat("dd")).format(new Date()));
[javac] ^
Agradeço a que puder me ajuda
Olá,
Eu, realmente não conheço bem o RealJ, mas normalmente nos WEB SERVER que contém Cointeners JSP/Servlets/Beans o diretório classes é tomado como
raiz para o Beans ou seja você não deve usar classes.FncData e sim apenas
FncData.(Pode reparar que o compilador procura uma package classes, que não existe.Já os arquivos .jar no libs são para adicição de recursos especiais
como um driver JDBC e classes não precisam ser transformada em .jar e serem copiadas para o lib.
Quanto ao attributo a id da tag useBean id significa é nome da varivel de instância que será atribuida ao objeto Bean já o atributo class é nome do Bean neste caso FncData.
**por convenção da linguagem é recomendado que todas as classes Beans terminem com a palavra Bean. Ex: FncDataBean
Espero que ajude,
Um Abraço,