Meninos estou com as seguintes dificuldades em JSPxServlet
No meu JSP eu preciso que o usuário digite o MES/ANO para atualizar um arquivo. O meu JSP tem a máscara 99/9999.
Eu capturo esta variável no meu Servlet da seguinte maneira :
String mesano = request.getParameter("mesAno");
String strMes = mesano.substring(0,2);
String strAno = mesano.substring(3,7);
if ((!util.confereMesAno(strMes,strAno))){
request.setAttribute("msgRequest","Mês/Ano Inválido !");
E testo da seguinte maneira :
public boolean confereMesAno(String mes,String ano) {
boolean retorno = true;
boolean isMes = mes.matches("-?[0-9]+.?[0-9]*");
boolean isAno = ano.matches("-?[0-9]+.?[0-9]*");
if (!isMes){
retorno = false;
}else if (!isAno){
retorno = false;
}else if (Integer.parseInt(mes)< 01 || (Integer.parseInt(mes)> 12)){
retorno = false;
}else if (Integer.parseInt(ano)< 1999 || (Integer.parseInt(ano)> 2030)){
retorno = false;
}
return retorno;
}
Só que o usuario pode digitar lá no campo : 02/2 ou 03/20
Ae a substring está dando erro de Exception.
E não sei como “barrar” isso !!!
Outra dificuldade é se o meu método confereMesAno está certo e é boa prática fazer isso !
Muito obrigada
Giuliana