pessoa, estou com um formulario que esta passando valores nulos ao JSP e ai o java.lang fica dando erro de nullpointerexception.
o que faço?
Teste se é != null antes de tentar utilizá-lo.
eu ja testei, mas a questao é que eu nao consigo evitar que ele seja nulo. vejam só o codigo. Estou usando o request.getParameter, mas mesmo assim ele se torna nulo.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page language="java" contentType="text/html" %>
<%@ page import="java.text.*,java.util.*,java.lang.*" %>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action=“validate.jsp” method=post>
Nome:<input type=“text” size=“20” name=firstName"><br>
Senha:<input type=“text” size=“20” name=“lastName”><br>
Data admissao:<input type=“text” size=“20” name=“empdate”><br>
Departamento:<input type=“text” size=“20” name=“dept”><br>
<input type=“submit” value=“Enter”>
</form>
<%
if (request.getParameter("firstName")==null)
{%>
alert("passow")
<%}
if (request.getParameter("lastName")==null)
{%>
<%}
if (request.getParameter("empdate")==null)
{%>
<%}
if (request.getParameter("dept")==null)
{%>
<%}
String myString=new String();
myString=request.getParameter("empdate");
SimpleDateFormat formatador= new SimpleDateFormat("dd/MM/yyyy");
Date data=formatador.parse(myString);
%>
<%=data%>
</body>
</html>
Não entendi muito bem o que você está tentando fazer…
O JSP é processado quando você abre a página, então se não tem nenhum “VALUE=” na inputbox realmente vai estar nulo.
Ele só vai deixar de ser nulo a partir do momento que você digitar alguma coisa nele, mas ao dar reload na página vai ficar nulo de novo.
Uma sugestão para processar isso de forma um pouco mais organizada seria utilizar um servlet para recuperar os dados do formulário ao clicar no botão, e aí fazer um dispatch de volta para o JSP com os valores preenchidos (no caso, utilizando o VALUE=<%=variavel em que guardou o valor%>.
Lembre-se que Java não é JavaScript, sendo processada Server Side, não Client Side.
…mas entao da pra vc passar um exemplo pra mim de um formulario em que a propria pagina processa ele e verifica os dados que foram digitados, como data e email?
valeu…
Olá!! Pelo que eu entendi do seu código, sempre vai dar nullpointer pois vc está dando um request.getParameter() sem existir o parâmetro que vc quer pois se trata da primeira visita a página. Eu, ao contrário do colega Bani, prefiro utilizar flags para saber se é a primeira vez que a página é solicitada ou já está na hora de ser processada.
Acredito que esta é uma maneira simples e eficiente de trabalhar com JSP. Claro que existem outras técnicas mais apuradas mas tudo depende da sua aplicação!
Bons códigos!
Caro amigo:
A funcionalidade do getParameter() eh que vc possa recuperar um parametro e passar para uma variavel, correto? vc esta testando dentro de varios if’s os getParameters(), mas não tem uma logica concreta esse programa…vc nao atribui a nada, vc somente teste se eh null…sempre será null. Por favor, explique o que quer fazer com esse codigo.
Ate mais