Erro variável de aplicação

5 respostas
A

Boa noite

Estou testando variável de aplicação, e esta apresentado erro, o que preciso fazer é o seguinte toda vez que um página jsp for acessada, ela verifica se existe sessão, caso exista ele soma uma valor em uma variável inteiro depois adiona em variável de aplicação, sempre que a página for acessada ele recupera o valor da variável de aplicação e exibie na página, com o valor recuperado na variável de aplicação, pega esse valor adiciona mais um e grava novamente na variável de aplicação. Mas esta apresentando esse erro:
[b]
org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/sistema.jsp at line 10

7: 	if(application.getAttribute(contador) == null){contador = 1;}

8: 	else{

9: 		contador = Integer.parseInt((String)application.getAttribute(contador)) + 1;

10: 	}

11: 	application.setAttribute(contador,contador);

12: 	out.println(Você acessou " + contador + " vezes essa ¡gina);

13: 	}

[/b]

Veja meu código:

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<%
String login=(String) session.getAttribute("login");
int contador = 0;
if(login == null){response.sendRedirect("index.jsp?msg=2");}
else{
	if(application.getAttribute("contador") == null){contador = 1;}
	else{
		contador = Integer.parseInt((String)application.getAttribute("contador")) + 1;
	}
	application.setAttribute("contador",contador);
	out.println("Você acessou " + contador + " vezes essa página");
	}
}

%>

Onde estou errando?

5 Respostas

drsmachado

Bom, primeiramente, tenta indentar teu código de maneira mais amigável.
Segundo, o stackTrace diz em que linha o erro ocorre, no caso a linha 10.
Pode dizer a qual linha, no código, ele aponta?

A

Boa noite
Opa uma pequena correção, eu tinha colocado uma chave a mais, o erro é esse:
[b]
org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/sistema.jsp at line 9

6: else{

7: 	if(application.getAttribute(contador) == null){contador = 1;}

8: 	else{

9: 		contador = Integer.parseInt((String)application.getAttribute(contador)) + 1;

10: 	}

11: 	application.setAttribute(contador,contador);

12: 	out.println(Você acessou " + contador + " vezes essa ¡gina);

[/b]

A linha que esta mostrando o erro é essa:

contador = Integer.parseInt((String)application.getAttribute(“contador”)) + 1;
O código retirada a chave a mais é esse:

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<%
String login=(String) session.getAttribute("login");
int contador = 0;
if(login == null){response.sendRedirect("index.jsp?msg=2");}
else{
	if(application.getAttribute("contador") == null){contador = 1;}
	else{
		contador = Integer.parseInt((String)application.getAttribute("contador")) + 1;
	}
	application.setAttribute("contador",contador);
	out.println("Você acessou " + contador + " vezes essa página");
}
%>
A

Galera não consegui achar o problema, alguém saberia como resolver?

pmlm

Eu aposto que o atributo contador não tem um número válido

A

Opa blz
Então eu acredito que deva esta ok o atributo, porque eu já inicio ele com o valor 1, após isso preciso apenas ir somando. Porém tentei exibir mas também não consegui

Criado 2 de outubro de 2011
Ultima resposta 3 de out. de 2011
Respostas 5
Participantes 3