Servlet - JSP

6 respostas
A

Como eu faço pra passar um Objteto de uma Servlet para um JSP ?

É que eu tenho uma gestãozinha, que quando dá um codigo, a Servlet processo o método de consulta que está em um Bean, e depois tem que passar para um JSP que mostra o resultado . . . .

Eu quero mostrar os métodos GET’s no JSP . . .

6 Respostas

leonardom

Na servlet:

request.setAttribute(“objeto”, seuobjeto);

No JSP:

<jsp:useBean id=“obj” class=“pacote.Objeto” scope=“request”/>

Propriedade do meu objeto: <%=obj.getPropriedade()%>

Deu pra sacar a idéia?

A

Legal … mas … num deu certo … ehehe … será que eu preciso “pegar” o objeto na JSP … tipo … tentei usar issu :

request.getAttribute(“produto”);

Mas mesmo assim num deu certo . . . .

rodrigo_gomes

que erro apareceu?
se possivel coloque seu codigo

abraços

A

//Esse Trecho é da Servlet … caso seja opção 2, ele executa o método para consulta
//O objeto produto recebe o método … e esse objeto eu quero passar para o JSP . . .
//Tentei passar com “request” mas num rolou … dai tentei com “session” e tb num rolou . . .

case 2:

act = new ActionPro();
pro = new Produto();

a0 = Integer.parseInt(rq.getParameter(“cod”));

pro = act.cPro(a0);

HttpSession session = rq.getSession(true);

session.setAttribute(“Prod”,pro);

RequestDispatcher rd = getServletContext().getRequestDispatcher("/conProd.jsp");

rd.forward(rq,rs);

//Eis aqui o JSP … onde vou usar o objeto que receberei
//da Servlet para Imprimir os GET’s . . .

<%@ page language=“java” import=“bean.*”%>
<jsp:useBean id=“bea” class=“bean.Produto” scope=“session”/>

<%
session = request.getSession();

bea = (Produto)session.getAttribute(“Prod”);
%>

<table>

<tr>

<td>Cod</td><td><%=bea.getCod()%></td>

</tr>

<tr>

<td>Pro</td><td><%=bea.getPro()%></td>

</tr>

<tr>

<td>Qua</td><td><%=bea.getQua()%></td>

</tr>

<tr>

<td>Min</td><td><%=bea.getMin()%></td>

</tr>

<tr>

<td>Pre</td><td><%=bea.getPre()%></td>

</tr>

<tr>

<td>Dat</td><td><%=bea.getDat()%></td>

</tr>

<tr>

<td>Des</td><td><%=bea.getDes()%></td>

</tr>

</table>

// E esse é o erro que dá !!!

type Exception report

message

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

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: -1 in the jsp file: null

Generated servlet error:
[javac] Compiling 1 source file

at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:340)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:474)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:184)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
at servlets.ServPro.doPost(ServPro.java:112)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
at java.lang.Thread.run(Thread.java:536)
leonardom

Voce esta colocando na sessão com um nome:

session.setAttribute(“Prod”,pro);

E tentando pegar com outro:

<jsp:useBean id=“bea” class=“bean.Produto” scope=“session”/>

No id deve ser o mesmo nome que vc colocou na sessão o correto seria:

<jsp:useBean id=“Prod” class=“bean.Produto” scope=“session”/>

[/b]

A

Até que enfim … ehhehe … mas o problema estava no Tomcat … ou no Eclipse … pois estou usandu o plugin … depois de instalar novamente o Tomcat … deu certu … o Tomcat num tava nem rodandu uma simples pagina para imprimir uma String … dai … instalei novamente … e deu certu … :oops:

Valeu pela Ajuda ai !!! :lol:

Criado 21 de agosto de 2004
Ultima resposta 27 de ago. de 2004
Respostas 6
Participantes 3