Recber campo id do arquivo index,jsp

4 respostas
K

Olá galera. Estou com um problema aqui… Acredito que seja até simples, mas eu ñ estou conseguindo resolver… seguinte, quero fazer uma aplicação web que liste, insira, altere e exclua. A página principal (index) está td ok… mas o problema está na pagina alterar… não consigo receber o id do aluno que é passado pela pagina index… Vou colocar os trechos dos códigos relevantes


Arquivo index.jsp

<%
ResultSet res = stm.executeQuery(“select * from alunos order by id”);

while (res.next()) {

int Id = res.getInt(“id”);

String Nome = res.getString(“nome”); 	

String Turno = res.getString(“turno”);

out.println("
");
out.println("<td align = “center”>" + Id + “”);
out.println("<td align = “center”>" + Nome + “”);
out.println("<td align = “center”>" + Turno + “”);
out.println("”); -> É esta variável Id que eu estou querendo passar p/ página alterar
out.println("”);
}
%>

Id de matrícula Nome Turno Alterar Excluir
" + “<a href = alterar.jsp?id="+Id+”>" + “Alterar” + “” + “" + “<a href = exclusao.jsp?id=”+Id+" onclick = return confirm(‘Tem certeza que deseja excluir este registro?’)>" + “Excluir” + “” + “

Arquivo alterar.jsp

<%@ page language = java contentType = text/html pageEncoding = UTF-8%>

<%@ page import = java.util.*%>

<%@ include file = conexao.jsp %>
alterar.jsp

<%
int Id = request.getIntHeader(“id”); ->Aqui que está o ponto chave. Ao invés desse código, qual é o código que devo colocar p/ pegar o valor do campo Id passado pela página Index.jsp mostrada acima?
ResultSet res = stm.executeQuery(“select * from alunos where id=”+Id);
out.println(“Id”); -> Aqui, ao testar p/ ver se a página pegou o campo Id, aparece simplesmente a mensagem “Id” ao invés do valor Id do aluno
%>

Por favor se alguém puder me ajudar, dá uma luz aí. sou novo em jsp e esse código está me empatando… flw

4 Respostas

Deh

seria

request.getParameter("id");

o getParameter(String str) retorna uma String com o valor passado por parâmetro para o jsp;

para retornar o valor… e tente dar uma olhada em mvc, tirar todo esse sql dos jps…

alias…

out.println(“Id”);

Sempre vai escrever “Id”, você está escrevendo uma String e não a variável “Id”
troque para:

out.println("Id: " + id);

K

obrigado Deh…

mudei meu código… coloquei agora no arquivo alterar.jsp:

<% String matricula = request.getParameter("Id"); int id = Integer.parseInt(matricula); out.println(id); %>

Mas agora, aparece o seguinte erro:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /alterar.jsp at line 17

14: <%

15:

16: String matricula = request.getParameter(Id);

17: int id = Integer.parseInt(matricula);

18: out.println(id);

19:

20: %>
Stacktrace:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NumberFormatException: null

java.lang.Integer.parseInt(Integer.java:415)

java.lang.Integer.parseInt(Integer.java:497)

org.apache.jsp.alterar_jsp._jspService(alterar_jsp.java:84)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)

javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.

O que isso quer dizer? O que devo fazer para simplesmente pegar o id la da pag principal e mostrá-la em alterar.jsp?

Deh

Olha só
você está chamando a pagina assim ‘alterar.jsp?id=2’ por exemplo

logo quando for receber
deve pegar
como:
request.getParameter(“id”);

e você está colocando “Id” (com ‘I’ maiusculo)

id é diferente de Id… logo você recebe ‘null’

e por isso da erro no seu Integer.parseInt()
K

Obigado Deh… era isso mesmo… valeu mesmo cara… :-o Esse problema foi resolvido… obrigado

Criado 11 de fevereiro de 2009
Ultima resposta 12 de fev. de 2009
Respostas 4
Participantes 2