Como saber se dois parâmetros enviados para uma página .JSP são ou não vazios
8 respostas
M
maxcarvalho
Pessoal,
Tenho uma arquivo “index.jsp” com dois campos, matrícula e senha.
Este form index.jsp chama uma página “consulta.jsp”.
Estou tentando, na página “consulta.jsp” usar o seguinte código :
Gostaria de saber se a sintaxe do if acima está correta ?
Estou tentando usar “equals” pois não é assim que se testa em Java o conteúdo de uma String ?
Agradeço por qq ajuda que me for enviada.
[]'s
Max
O seu codigo tem tendência a lançar uma NullPointerException, no caso de algum dos parametros chegarem com o valor null.
M
maxcarvalho
Mas a sintaxe para testar se os paraâmetros estão vindo vazios está correta ?
Quanto à exceção, aí já é outro problema. Posso pensar na possibilidade de lançá-la ou, melhor ainda, tratá-la.
Agradece,
Max
fabim
Seu sistema nunca deveria lançar NPE. NPE geralmente é erro de programação ( extraido da fragmental )
pissurno
if ( "".equals(request.getParameter("matricula")) && "".equals(request.getParameter("senha")) ) {
*restante do codigo*
}
assim vc evitara problemas caso o seu request venha null
M
maxcarvalho
pissurno:
if ( "".equals(request.getParameter("matricula")) && "".equals(request.getParameter("senha")) ) {
*restante do codigo*
}
assim vc evitara problemas caso o seu request venha null
pissurno,
Sua idéia funcionou, embora eu estou começando em Java e me pedem para melhorar um código JSP, sem nem eu saber Java direito ainda.
Portanto, não entendi o sentido do “.” ?
Estaria o “.” funcionando como que tipo de operador na expressão acima ?
Valeu aí pela ajuda e atenção.
[]'s
Max
fabim
o ponto em ( “”.equals ) é o mesmo ponto usado para invocar métodos:
String teste = “dsasdasda”; String outraString = teste.toUpperCase();
funcionaria da mesma forma fazer “dsasdasda”.toUpperCase();
M
maxcarvalho
fabiocsi,
Desculpe estar lhe incomodando, mas não entendi sua explicação.
Você quer dizer que mesmo se eu validar os dois campos supracitados e não permitir que seus respectivos parâmetros sejam vazios, ainda assim corro o risco de uma NullPointerExeception ?
Se sim, por quê isto acontece ?
Agradece,
Max Carvalho
M
maxcarvalho
fabiocsi:
o ponto em ( “”.equals ) é o mesmo ponto usado para invocar métodos:
String teste = “dsasdasda”; String outraString = teste.toUpperCase();
funcionaria da mesma forma fazer “dsasdasda”.toUpperCase();
Entendido. Achei apenas que fosse alguma situação especial do ponto estar sendo utilizado como algum operador que por acaso eu não conhecia.