Como saber se dois parâmetros enviados para uma página .JSP são ou não vazios

8 respostas
M

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 :


if ( request.getParameter(“matricula”) equals ("") && request.getParameter(“senha”) equals ("") ) {

%>

<% }

else {

%>

<%

} %>

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

8 Respostas

fabim

O seu codigo tem tendência a lançar uma NullPointerException, no caso de algum dos parametros chegarem com o valor null.

M

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

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

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

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.

Valeu !!!

Criado 25 de março de 2008
Ultima resposta 26 de mar. de 2008
Respostas 8
Participantes 3