-----Mensagem original-----
De: Jairo Soares [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 10 de
dezembro de 2003 16:56
Para: [EMAIL PROTECTED]org
Assunto: [cejug-discussao] Struts,
um probleminha
Algu�m poderia me ajudar ?
Obs: SE EU TIRAR A PARTE DO CODIGO DA JSP Q TEM O
<logic:iterate , D� CERTO !!!!
1) Tenho a seguinte mensagem de erro:
org.apache.jasper.JasperException: Cannot find bean clientes
in any scope
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
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
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
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(StandardWrapperValvejava:256)
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(StandardContextValvejava: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:2409)
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:171)
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:193)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
at java.lang.Thread.run(Thread.java:536)
<%@ taglib
uri="/WEB-INF/tlds/struts-html.tld"
prefix="html"%>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld"
prefix="bean"%>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld"
prefix="logic"%>
<logic:notPresent name="USER">
<logic:forward name="login" />
</logic:notPresent>
<html>
<head>
<title><bean:message key="app.cliente.titulo"
/></title>
</head>
<body>
<center>
<html:errors />
<table width="90%" border="0"
cellspacing="0" cellpadding="0" >
<logic:iterate
id="cliente" name="clientes">
<tr align="left">
<td><font face=arial size=-1>
<a
href="" name="cliente"
property="codigo" />"><bean:write
name="cliente" property="nome" /></a>
</font>
</td>
<td><font face=arial size=-1>
<bean:write name="cliente"
property="codigo" />
</font>
</td>
<td><font face=arial size=-1>
<bean:write name="cliente"
property="endereco" />
</font>
</td>
<td><font face=arial size=-1>
<bean:write name="cliente"
property="fone" />
</font>
</td>
</tr>
</logic:iterate>
</table>
</center>
</body>
</html>
3) Minha Action que monta a lista dos clientes
package br.com.unilet.actions.cliente;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class ClienteListAction extends Action {
protected ArrayList getEmployees() {
Cliente cliente = null;
ArrayList clientes = new ArrayList();
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
ServletContext context = servlet.getServletContext();
DataSource dataSource = (DataSource)
context.getAttribute(Action.DATA_SOURCE_KEY);
try {
conn = dataSource.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from cliente ");
while (rs.next()) {
cliente = new Cliente();
cliente.setCodigo(new
Integer(rs.getInt("codigo")));
cliente.setNome(rs.getString("nome"));
cliente.setEndereco(rsgetString("endereco"));
cliente.setUf(rs.getString("uf"));
cliente.setFone(rs.getString("fone"));
cliente.setSexo(rs.getString("sexo"));
clientes.add(cliente);
System.err.println("Cliente : " +
cliente.getNome());
}
} catch (SQLException e) {
System.err.println(e.getMessage());
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException sqle) {
System.err.println(sqle.getMessage());
}
rs = null;
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException sqle) {
System.err.println(sqle.getMessage());
}
stmt = null;
}
if (conn != null) {
try {
conn.close();
} catch (SQLException sqle) {
System.err.println(sqle.getMessage());
}
conn = null;
}
}
return clientes;
}
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
String target = "list";
ArrayList clientes = getEmployees();
return (mapping.findForward(target));
}
}
<struts-config>
<data-sources>
<data-source>
<set-property
property="driverClass"
value="oracle.jdbc.driver.OracleDriver" />
<set-property property="url"
value="jdbc:oracle:thin:@172.17.17.120:1521:orcl" />
<set-property property="user"
value="labweb" />
<set-property property="password"
value="lab" />
</data-source>
</data-sources>
<form-beans>
<form-bean name="loginForm"
type="br.com.unilet.actions.authentication.LoginForm" />
<form-bean name="clienteForm"
type="br.com.unilet.actions.cliente.ClienteForm"
/></form-beans>
<global-forwards>
<forward name="login"
path="/login.jsp" />
</global-forwards>
<action-mappings>
<action path="/Login"
type="br.com.unilet.actions.authentication.LoginAction"
<forward
name="success" path="/principal.jsp"
redirect="false" />
<forward name="login"
path="/login.jsp" redirect="false" />
<action path="/ClienteLista"
type="br.com.unilet.actions.cliente.ClienteListAction">
<forward name="list"
path="/clientelist.jsp" redirect="false" />
<action path="/GetCliente"
type="br.com.unilet.actions.cliente.GetClienteAction"
<forward
name="success" path="/editcliente.jsp"
redirect="false" />
</action-mappings>
<message-resources parameter="br.com.unilet.ApplicationResources"
factory="org.apache.struts.util.PropertyMessageResourcesFactory"
null="true" />
</struts-config>
Algu�m j� possou por este problema ? Onde estou errando ?