:?: :?:
Estou tendo um grave problema para perguntar se uma variável String é null ou não.
Estou fazendo o seguinte:
<form name="form_prog_fin" method="POST">
<input type="text" name="nome" />
<input type="submit" name="botao" value="Botao" />
</form>
<%
String nome = request.getParameter("nome");
if (nome != null ) {
out.println("faz outra coisa...");
out.println("nome: "+ nome);
}
else if(nome.trim().equals("")){
out.println("faz alguma coisa...");
out.println("nome: "+ nome);
}else {
out.println("faz nenhuma coisa...");
out.println("nome: "+ nome);
}
%>
O campo inicia-se como null, então ele não entra no IF quando chega do ELSE IF ele dá erro de [color=“red”]java.lang.NullPointerException [/color].
Por que que ele dá esse erro quando entra no ELSE IF???
:martelada:
<form name="form_prog_fin" method="POST">
<input type="text" name="nome" />
<input type="submit" name="botao" value="Botao" />
</form>
<%
String nome = request.getParameter("nome");
if (nome != null ) {
out.println("faz outra coisa...");
out.println("nome: "+ nome);
}
//Esta dando NullPointerException porque vc esta tentando acessar o
//método trim() do atributo nome, que neste caso esta null, pois não
//entrou no primeiro if
else if(nome.trim().equals("")){
out.println("faz alguma coisa...");
out.println("nome: "+ nome);
}else {
out.println("faz nenhuma coisa...");
out.println("nome: "+ nome);
}
%>
Esta respondido no código…
você deveria ter invertido os IF’s entende?!
cya!
Seria algo assim:
<form name="form_prog_fin" method="POST">
<input type="text" name="nome" />
<input type="submit" name="botao" value="Botao" />
</form>
<%
String nome = request.getParameter("nome");
if (nome == null ) {
out.println("faz outra coisa...");
out.println("nome: "+ nome);
}
else if(nome.trim().equals("")){
out.println("faz alguma coisa...");
out.println("nome: "+ nome);
}else {
out.println("faz nenhuma coisa...");
out.println("nome: "+ nome);
}
%>