Não reconheceu meu novo método

4 respostas
F

Caras,

Tenho um bean de sessão cuja declaração está abaixo, que funcionava corretamente :

<jsp:useBean id="par" scope="session" class="com.xisto.clsParametros" />

Inclui nesta classe mais um método, conforme o código abaixo :

package com.xisto;

import java.util.*;
import java.io.*;
import java.text.*;

public class clsParametros {

  // tem os métodos que já existiam...

  public Object[] trazLojas() throws Exception {
    Object[] retorno;
    // carrega o array... 
    return retorno;

  }

A compilação da classe foi ok.

Na página o código que acessa este parâmetro está assim :

<%	

Object[] nomes; 
nomes = par.trazLojas();

for(int z=0;z<nomes.length;z++){
    %>
    <%=(String)nomes[z]+" "%>
    <%
    }
%>

Substituí o .class no diretório do pacote onde o mesmo estava, só que ao tentar acessar a página dá o seguinte erro :

[i]
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] W:\Projetos\RCB\Tomcat\work\Standalone\localhost\luiza\contabil\luiza_enviaarquivo_contabil_jsp.java:187: cannot resolve symbol

[javac] symbol  : method trazLojas ()

[javac] location: class com.fininvest.luiza.clsParametros

[javac] 	  nomes = par.trazLojas();

[javac]                      ^

[javac] 1 error

[/i]

Eu já apaguei o diretório na pasta work, já restartei o Tomcat, o servidor, e nada…

Alquém sabe o que pode estar acontecendo ??

Valeu,
Fábio

4 Respostas

G
"FabioAzul":
Caras,

Tenho um bean de sessão cuja declaração está abaixo, que funcionava corretamente :

<jsp:useBean id="par" scope="session" class="com.xisto.clsParametros" />

Inclui nesta classe mais um método, conforme o código abaixo :

package com.xisto;

import java.util.*;
import java.io.*;
import java.text.*;

public class clsParametros {

  // tem os métodos que já existiam...

  public Object[] trazLojas() throws Exception {
    Object[] retorno;
    // carrega o array... 
    return retorno;

  }

A compilação da classe foi ok.

Na página o código que acessa este parâmetro está assim :

<%	

Object[] nomes; 
nomes = par.trazLojas();

for(int z=0;z<nomes.length;z++){
    %>
    <%=(String)nomes[z]+" "%>
    <%
    }
%>

Substituí o .class no diretório do pacote onde o mesmo estava, só que ao tentar acessar a página dá o seguinte erro :


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] W:\Projetos\RCB\Tomcat\work\Standalone\localhost\luiza\contabil\luiza_enviaarquivo_contabil_jsp.java:187: cannot resolve symbol
[javac] symbol : method trazLojas ()
[javac] location: class com.fininvest.luiza.clsParametros
[javac] nomes = par.trazLojas();
[javac] ^
[javac] 1 error

Eu já apaguei o diretório na pasta work, já restartei o Tomcat, o servidor, e nada...

Alquém sabe o que pode estar acontecendo ??

Valeu,
Fábio

<%    

Object[] nomes = Object[]par.trazLojas() ;

for(int z=0;z<nomes.length;z++){ 
    %> 
    <%=(String)nomes[z]+" "%> 
    <% 
    } 
%>

tenta aí...

:wink:

F

Eu tentei mas ficou pior … esperava .class no lugar do método…

eu tentei com essa sintaxe, e deu problema tb… :

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] W:\Projetos\RCB\Tomcat\work\Standalone\localhost\luiza\contabil\luiza_enviaarquivo_contabil_jsp.java:186: '.class' expected
    [javac] 	  Object[] nomes = Object[]par.trazLojas();
    [javac]                                    ^
    [javac] W:\Projetos\RCB\Tomcat\work\Standalone\localhost\luiza\contabil\luiza_enviaarquivo_contabil_jsp.java:186: unexpected type
    [javac] required: value
    [javac] found   : class
    [javac] 	  Object[] nomes = Object[]par.trazLojas();
    [javac]                                  ^
    [javac] 2 errors

Tentei com casting só pra ter certeza, mas nada…

Object[] nomes = (Object[])par.trazLojas();

Parece que simplesmente o Tomcat não considera a classe que eu substituí…

F

Vc restartou o TomCat?
Jsp vc sobrescrevendo o TomCat verá que mudou a data/hora do arquivo e irá recompilar gerando um novo servlet, mas servlets/classes o TomCat só verá a mudança qd for restartado ou qd a aplicação dentro do TomCat (parte administrativa) for restartada.

M

Salve,

porque você não assina o teu método com String[] ou o tipo de dados que você irá colocar, pode ser que aí o teu código dará certo.

:pensativo:

Criado 20 de junho de 2005
Ultima resposta 20 de jun. de 2005
Respostas 4
Participantes 4