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)
 
2) Minha jsp
 
<%@ 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=""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));
 }
}
 
4) Meu struts-config.xml
 
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
 
<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"
        name="loginForm"
        input="/login.jsp"
        scope="request">
        <forward name="success" path="/principal.jsp" redirect="false" />
        <forward name="login" path="/login.jsp" redirect="false" />
    </action>
    <action path="/ClienteLista"
        unknown="false"
        type="br.com.unilet.actions.cliente.ClienteListAction">
        <forward name="list" path="/clientelist.jsp" redirect="false" />
        </action>
    <action path="/GetCliente"
        type="br.com.unilet.actions.cliente.GetClienteAction"
        name="clienteForm"
        input="/editcliente.jsp"
        scope="request">
        <forward name="success" path="/editcliente.jsp" redirect="false" />
    </action>
 
</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 ?
 
Obrigado à todos
 
 
Jairo Soares
Sun Certified Programmer Java 2 Platform 1.4
[EMAIL PROTECTED]

Responder a