[RESOLVIDO]Num scriptlet JSP, como saber se o 'post' é número ou string?

1 resposta
leorbarbosa

Obrigado.

1 Resposta

A

se você está passando parâmetros para serem capturados em uma outra página via request.getParameter(“valor”), este sempre será String. Cabe a você converter pro formato que você vai querer

Exemplo(com scriplets):

Primeiro a classe para transformar o seu valor em data (provavelmente você está puxando o valor de um db não é?)

import java.text.SimpleDateFormat;
import java.util.Date;

public class Funcoes{


//com essa classe transformamos o valor que vai se passado em data do mysql yyyy-MM-dd
public String transformaParaMySQL(String data){
		Date data_recep = null;  
		String data_formatada = null;  
		try{  
			data_recep = new SimpleDateFormat("dd/MM/yyyy").parse(data);    
			data_formatada = new SimpleDateFormat("yyyy-MM-dd").format(data_recep);
			
			return data_formatada;
		}catch( java.text.ParseException e ){
			e.printStackTrace();  
		}
		return null;
	}

//com esse transformamos para o valor brasileiro (só para você já ver como é o parser)
public String transformaParaPadraoBrasileiro(String data){
		Date data_recep = null;  
		String data_formatada = null;  
		try{  
			data_recep = new SimpleDateFormat("yyyy-MM-dd").parse(data);    
			data_formatada = new SimpleDateFormat("dd/MM/yyyy").format(data_recep);
			
			return data_formatada;
		}catch( java.text.ParseException e ){  
			System.out.println("erro ao converter data do formato mysql para formato brasileiro. Vide classe Funções em br.com.bb.bean.");
			e.printStackTrace();  
		}
		return null;
	}
}

//agora com o seu código que recebe o valor

/*
importa tudo que tem que importar incluindo a classe das funcoes
*/

Funcoes f = new Funcoes();

String valor = request.getParameter("valorPassado");
//captura o valor

//Agora validamos via scriplet
if (valor.length() == 10){ //10 porque é o numero de caracteres que tem a data 12/10/2010
     f.transformaParaMySQL(valor);
    //aqui você destina a ação que você quiser
} else if (valor.length() <= 4){ //tamanho maximo do cod temporário (não sei que tamanho você quer
    int cod = Integer.parseInt(valor);
    //ação
} else {
   //é a descrição
}

Nesse caso é so assim (pelo que eu me recorde) que dá pra fazer.

Criado 25 de maio de 2010
Ultima resposta 25 de mai. de 2010
Respostas 1
Participantes 2