ESTOU COM DIFICULDADES PARA RESOLVER ESTE ERRO, TENHO UM BANCO DE DADOS SIMPLES, QUANDO PREENCHO UM FORMULARIO, QUERO GRAVAR OS DADOS PREENCHIDOS NO ID QUE JA ESTÁ DETERMINADO NO BANCO DE DADOS. EXEMPLO: TENHO O ID A1,A2,B1,B2, SELECIONO O CAMPO B2, PARA GRAVAR OS DADOS ESCRITOS NO FORMULARIO, MAS ESTÁ DANDO ERRO:
GRAVE: Servlet.service() for servlet GravarLivro threw exception
java.lang.NumberFormatException: For input string: "::.Selecione"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Long.parseLong(Long.java:410)
at java.lang.Long.parseLong(Long.java:468)
at br.com.eibsb.servlet.GravarLivro.doPost(GravarLivro.java:29)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Adiciona Livro</title>
</head>
<body>
<center><h2>Gravar Livro</h2></center>
<form action="GravarLivro" method="post">
<table align="center">
<input type="hidden" name="id" value="${livro.id}">
<tr>
<td>Titulo: </td>
<td><input type="text" value="${livro.titulo}" name="titulo" size="70"></td>
</tr>
<tr>
<td>Autor: </td>
<td><input type="text" value="${livro.autor}" name="autor" size="70"></td>
</tr>
<tr>
<td>Isbn: </td>
<td><input type="text" value="${livro.isbn}" name="isbn" size="40"></td>
</tr>
<tr>
<td>Prateleiras: </td>
<td>
<select name="id_prateleiras">
<option selected="selected">::.Selecione</option>
<c:forEach items="${}" var="id_prateleiras"> //NESSA LINHA Ñ SEI O Q FAZER
<option value="${livro.id_prateleiras.id}">${livro.id_prateleiras.descricao}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td>Data Cadastro: </td>
<td><input type="text" value="<fmt:formatDate value='${livro.dataCadastro.time}' pattern='dd/MM/yyyy'/>" name="dataCadastro" size="15" maxlength="10"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="Gravar" value="Gravar">
</td>
</tr>
</table>
</form>
</body>
</html>
NA CLASSE GRAVA LIVRO, O ERRO APONTA PARA ESTA LINHA:
p.setId(Long.parseLong(request.getParameter("id_prateleiras")));