Ajuda - jsp

Prezados,
tenho um programa que consulta dados de uma pessoa e exibe os dados retornado em uma parte da JSP… acontece que tenho um campo que deve exibir o código completo (com os zeros - por exemplo: 005624), porém só está exibindo 5624…como estou iniciando agora, gostaria de saber se alguém pode me passar uma dica.

Se o seu conteúdo é do tipo inteiro, converte ele para texto.

Veja este exemplo: http://www.guj.com.br/java/1416-como-converter-inteiro-para-string

Oi Eliane,

Esses dados estão vindo do banco de dados?

Se estiverem vindo, certifique-se de que o tipo da coluna que está guardando este valor seja do tipo varchar. Se for do tipo número (integer, decimal), o banco de dados não salvará os zeros a esquerda. Se tentar salvar, por exemplo, “000002” , ficará salvo apenas “2”.

Certifique-se também que os tipos que vc está utilizando no java também são string.

Se vc tiver certeza que no banco e no java (utilizando um debug ou system.out.println mesmo) os valores estão chegando com 0 na frente, e somente na jsp está vindo sem o zero. Veja se vc não está utilizando, sem querer, alguma biblioteca para conversão de valores.

Bom, esses são os motivos mais óbvios para o seu problema. Qualquer dúvida, pode falar.

Acredito que seja também oportuno relatar um problema se for fazer atribuições com zeros em java para tipos inteiros, pois se você fizer isso:

public class TesteInt {
	public static void main(String[] args) {
		int valor = 00123;
		System.out.println(valor);
	}
}

Lembre-se que no caso de obter esses valores como String por exemplo e for fazer algum tipo de cálculo, voce deve tomar cuidado na hora da atribuição, pois diferentemente de no banco que os zeros a esquerda são desprezados, no java isso vai ser processado como um octal…

Então deve-se fazer algo do tipo:

public class TesteInt {
	public static void main(String[] args) {
		int valor = Integer.valueOf(String.valueOf("00123"), 10);
		System.out.println(valor);
	}
}
[quote]
Saída: 123

[/quote]

Somente para relatar.

[quote=elianemsantos2]Prezados,
tenho um programa que consulta dados de uma pessoa e exibe os dados retornado em uma parte da JSP… acontece que tenho um campo que deve exibir o código completo (com os zeros - por exemplo: 005624), porém só está exibindo 5624…como estou iniciando agora, gostaria de saber se alguém pode me passar uma dica.[/quote]

Se você tentar formatar um numero será que não ajuda?

ex:

System.out.printf("%02d", 5);

ou

String numeroFormatado = String.format("%02d", 5);

o flag “02” especifica o a quantidade de zeros iniciais, não sei se pode te ajudar…

só usar o DecimalFormat!

System.out.println(new DecimalFormat("000000").format(5624));

Pessoal, muito obrigada pela ajuda de todos… fiz as verificações indicadas pelo Renan, o erro era que o campo no banco de dados não era varchar, eu coloquei como varchar2, e nas JSPs eu alterei as variáveis de long para string. Deu certo. Obrigada.