Importar classe JAVA numa JSP

10 respostas
J

Pessoal, estou com um problema ao utilizar classes no desenvolvimento de uma pagina com jsp.

Eu criei uma classe chamada Global onde irei informar todos os padrões da aplicação, como titulo de página, cores e imagens de fundo e outros padrões que exitirão em todas as páginas do site.

Porém ao informar na JSP algum método dessa classe eh exibido o seguinte erro:

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

An error occurred at line: 6 in the generated java file
Only a type can be imported. beans.Global resolves to a package

An error occurred at line: 7 in the jsp file: /web/index.jsp
Global cannot be resolved
4: <html xmlns="http://www.w3.org/1999/xhtml">
5: <head>
6: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7: <title><%=Global.getTitPage()%></title>
8: <link href="../css/estilo.css" rel="stylesheet" type="text/css" />
9: </head>

E segue o código da classe Global:

package beans;


public class Global {
    private static final String titPage = "Titulo das páginas";

    public static String getTitPage() {
        return titPage;
    }
    
}

Essa classe está importada no arquivo jsp, porém não consigo utilizá-la.

Algúem saberia me dizer qual é o erro?

Obrigado.

10 Respostas

R

onde está a linha da importação da classe no arquivo JSP?

R

pq essa linha deve estar assim:

<%@page import="beans.Global"%>
K

tente fazer isso ..!!

<jsp:useBean id="Apelido_do_Beans" class="Caminho.Nome_do_Beans">//inicia o beans


<jsp:setProperty name="Apelido_do_Beans"   property="Nome_variavel"  value="Valor"/>// seta o valor pro Beans

<%
String Valor=Apelido_do_Beans.getNome_do_campo_no_Beans();// recupera o valor e assim  e mais facil ...pis vc usa o get da classe Beans
%>


<jsp:getProperty name="Apelido_do_Beans"  property="Nome_variavel"  value="Nome_do_campo_no_Beans" />// tambem recura os valor assim 

</jsp:useBean>// finaliza o beans

tenta ai e fala se te ajudou ou nao ..!!!

J

segue o código da jsp onde quero incluir um metodo da classe Global.

<%@page import="beans.Global"%>
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><%=Global.getTitPage()%></title>
<link href="../css/estilo.css" rel="stylesheet" type="text/css" />
</head>

<body>

<div id="todo">
<div id="cabecalho">
    texto do cabeçalho aqui<br />
  <a href="#">Link1</a> | <a href="#">Link2</a> | <a href="#">Link3</a> | <a href="#">Link4</a></div>
<div id="content">Conteúdo da página aqui

</div>
<div id="rodape">Rodapé da página</div>
</div>
</body>
</html>

Cara que manobra essa pra usar os beans, rsrs.

O que acho estranho é que estou desenvolvendo um exemplo no meu note em casa e consegui fazer da mesma forma que estou tentando aqui, apenas cirei a classe e importei pro JSP.

Por mais que funcione essa idéia que você postou acima eu gostaria de fazer dessa outra maneira por ser mais simples.

O que não entendo é onde está o erro.

Mas vlw pela dica.

J

Isso pode ser algo na instalação do JAVA, TomCat ou algo do tipo?

R

creio que o problema não tem a ver com a instalação do java ou tomcat.
tente fazer assim:
coloque a importação da sua classe Global dentro do import de java.sql.*, onde ficaria assim:

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*, beans.Global" errorPage="" %>
J

Cara, tentei fazer isso mas o erro permanece.

Mais um pouco acho que vou apagar tudo e começar do zero, rsrs.

R

só pra desencargo de consciencia, tira as definições “static” da do método e do atributo da tua classe, e na página vc cria um objeto da classe e depois chama o método.

J

Cara, agora to achando que é problema ou com o JAVA ou com o TomCat que tem instalado na minha máquina aqui, pois o problema é local.

Veja o que fiz.

Estou trabalhando com o NetBeans 6.9.1 na programação da página. Aí eu executei um limpar e construir dessa aplicação que estava com erro e copiei o war para rodar em um outro servidor TomCat.

E lá a desgraça funcionou sem problemas.

Apenas para dar ideia do ambiente da minha máquina, não sei se posso fazer algo antes de tentar reinstalar pq nao entendo muito de configuração de servidores.

Possuo instalado o TomCat 6 e JDK 1.6 em um ambiente Windows XP. No servidor onde funcionou é a mesma coisa com exceção do ambiente que é Win2003 Server.

O TomCat que tenho é “gerenciado” pelo próprio NetBeans. O que faço é apenas pressionar F6 para rodar a aplicação e o NetBeans inicializa o servidor caso esteja parado e tudo mais.

Alguma idéia do que posso tentar fazer para corrigir o erro nessa minha máquina?

Vlw pela ajuda.

R

tenta fazer assim: cria um novo projeto e copia tua classe e tua página pra o novo projeto, e manda rodar pra ver se da certo. se não funcionar, tenta baixar a última versão do tomcat 6, pq o tomcat 7 ainda tem seus bugs, ai vc instala o tomcat, e depois vai no netbeans e adiciona um novo servidor, apontando para o diretório do tomcat onde vc instalou. por fim, vc coloca seu projeto pra rodar nesse novo servidor que vc configurou.

Criado 6 de abril de 2011
Ultima resposta 8 de abr. de 2011
Respostas 10
Participantes 3