Dois List's

12 respostas
E

Pessoal, meu jsp dá erro quando tento acrescentar o listC (segundo list). O que posso fazer para resolver isso? Nao posso colocar 2 list’s na mesma pag nao?

<%@page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%@page import="java.util.Iterator"%> 
<%@page import="java.util.List"%> 
<%@page import="model.Processo"%>   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Supply Web</title>
    
    <link rel="stylesheet" href="css/demos.css" media="screen" type="text/css">
    
    <script type="text/javascript" src="js/dhtml-suite-for-applications-without-comments.js"></script>
    
    <!--<script type="text/javascript" src="../js/ajax.js"></script>-->
    
    <!-- START Efeito em tabelas -->
        <link rel="stylesheet" href="CSS/efeitoTabela.css"media="screen" type="text/css">
    	<script type="text/javascript" src="efeitoTabela.js"></script>
    <!-- END Efeito em tabelas -->
    
	<style type="text/css">
    /* Os arquivos CSS são carregados dinamicamente com os scripts */
    input { 
        background-color: #FFFFFF; 
        font: 12px verdana, arial, helvetica, sans-serif;
        color: #000000;
        border:1px solid #000000;
    }
    </style>    

	<script language="javascript"> 
        function barra(objeto){ 
            if (objeto.value.length == 2 || objeto.value.length == 5 ){ 
                objeto.value = objeto.value+"/"; 
            } 
        } 
    </script> 
</head>

<body>

<h2>Projeto TIG</h2>
<div id="DHTMLSuite_tabView1">
	<div class="DHTMLSuite_aTab">
	<!-- START Conteudo guia 1 -->
    	<br>
    	<center>
		<table id="primeira" border="1" width="93%" height="" bordercolor="#000000" cellpadding="6" cellspacing="0">
        <thead>
        <tr>
        	<td>RC</td>
            <td>Descrição</td>
            <td>Orçado (R$)</td>
            <td>Necessidade</td>
            <td>Etapa</td>
            <td>Prev. Etapa</td>    
            <td>Status</td>
        </tr>
        </thead>
        <tbody>
        <%	
			List<Processo> list = (List<Processo>) request.getAttribute("processosEncontrados");  //Primeiro List
			Iterator<Processo> x = list.iterator();
			
			int a = 1;
			
			while (x.hasNext()){
				Processo procs = x.next();
				
							 a = a + 1;	
			} // fim while
				
			//out.println(list.get(a).getRc());
				//if (list.getRc(1).equals("Em andamento") or list.getRc(1).equals("Em andamento")) {
			for(int i=0;i<list.size();i++) {
				//out.print("<tr><td valign='top'><font color='#000000'>"+list.get(i).getRc()+"</font></td><td valign='top'><font color='#000000'>"+list.get(i).getDescricao()+"</font></td><td valign='top'><font color='#000000'>"+list.get(i).getOrcado()+"</font></td><td valign='top'><font color='#000000'>"+list.get(i).getNecessidade()+"</font></td><td valign='top'><font color='#000000'>"+list.get(i).getEtapa()+"</font></td><td valign='top'><font color='#000000'>"+list.get(i).getPrevEtapa()+"</font></td><td valign='top'><font color='#000000'>"+list.get(i).getRc()+"</font></td></tr>");
		%>
        
       <tr width="1" height="">
        	<td width="1" height=""><%=list.get(i).getRc()%></td>
            <td align="left" width="" height="10"><%=list.get(i).getDescricao()%></td>
            <td width="1" height=""><%=list.get(i).getOrcado()%></td>
            <td width="1" height=""><%=list.get(i).getNecessidade()%></td>
            <td width="1" height=""><%=list.get(i).getEtapa()%></td>
            <td width="1" height=""><%=list.get(i).getPrevEtapa()%></td>           
            <td width="1" height=""><img src="../../../Program Files/Apache Software Foundation/Tomcat 5.5/webapps/SupplyWeb/imagens/feliz.gif"></td>
        </tr>
		<%
		    } //fim for
			
			 //a = a + 1;	
			//} // fim while
		%>
        </tbody>
        </table>
        </center>
	<!-- END Conteudo guia 1 -->
	</div>
    
	<div class="DHTMLSuite_aTab">
	<!-- START Conteudo guia 2 -->
    	<br>
		<h2>Periodo: <input type="text" name="dataini" size="11" maxlength="11" onkeyup="barra(this)"> á <input type="text" name="datafim" size="11" maxlength="11" onkeyup="barra(this)"></h2>
        
        <table id="mae" width="90%" height="65%">
        <tr>
			<td valign="top">  
                <table class="lere" border="0" id="segunda" width="77%" height="100%">
                <thead>
                <tr>
                    <td>Status</td>
                    <td>Orçado (R$)</td>
                    <td>Quantidade</td>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <td>A iniciar</td>
                    <td>156.000.090,00</td>
                    <td>50</td>
                </tr>
                <tr>
                    <td>Em andamento</td>
                    <td>190.000.899,00</td>
                    <td>30</td>
                </tr>
                <tr>
                    <td>Encerrados</td>
                    <td>700.000.001,90</td>
                    <td>80</td>
                </tr>
                <tr bgcolor="#C6E8CD">
                    <td>TOTAL</td>
                    <td>104.600.090,90</td>
                    <td>160</td>
                </tr>
                <tr>
                    <td>Cancelado</td>
                    <td>110.000,00</td>
                    <td>15</td>
                </tr>
                </tbody>
                </table>            
             </td>
             <td>&nbsp;&nbsp;&nbsp;</td>
             
             <td valign="top">
			Gráfico com zoom
             </td>
        </tr>
        <tr>
        	<td>
                <table border="0" class="lere">
                <thead>
                <tr>
                	<td><font size="2"><b>SAVING (R$)</b></font></td>
                    <td align="right"><font size="2"><b>(%)</b></font></td>
                    <td align="right"><font size="2"><b>Valor Médio</b></font></td>
                </tr>
                </thead>
                <tr>
                	<td><font size="2"><b>170.000</b></font></td>
                    <td><font size="2"><b>17%</b></font></td>
                    <td><font size="2"><b>80.000,00</b></font></td>
                </tr>
              </table>
            </td>
        </tr>
        </table>
        
    <!-- END Conteudo guia 2 -->
  </div>
    
	<div class="DHTMLSuite_aTab">
	<!-- START Conteudo guia 3 -->
    	<br>
		<p>Haverá um gráfico desenvolvido em Java.</p>
	<!-- END Conteudo guia 3 -->
	</div>
    
    <div class="DHTMLSuite_aTab">
	<!-- START Conteudo guia 4 -->
		<br>
    	<center>
		<table id="encerrados" border="1" width="93%" height="" bordercolor="#000000" cellpadding="6" cellspacing="0">
        <thead>
        <tr>
        	<td>RC</td>
            <td>Descrição</td>
            <td>Inicio Contrato</td>
            <td>Vigência</td>
            <td>Prazo Corrido (%)</td>
            <td>Execução Financeira(%)</td>
            <td>Status</td>
        </tr>
        </thead>
        <tbody>
        <tr>
        	<td>EG-SP-202-00-0-0</td>
            <td align="left">Serviços de Levantamento Planialtimétrico para estudos e desenvolvimento de projeto detalhado de todas as obras civis -  On Shore</td>
            <td>21/11/2009</td>
            <td>21/11/2010</td>
            <td>50</td>
            <td>10</td>
            <td><img src="../../../Program Files/Apache Software Foundation/Tomcat 5.5/webapps/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/SupplyWeb/feliz.gif"></td>
        </tr>
        <tr>
        	<td>EG-SP-202-00-0-1</td>
            <td align="left">Serviços de Levantamento Planialtimétrico</td>
            <td>21/11/2009</td>
            <td>21/11/2010</td>
            <td>40</td>
            <td>40</td>
            <td><img src="../../../Program Files/Apache Software Foundation/Tomcat 5.5/webapps/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/SupplyWeb/triste.gif"></td>
        </tr>
        <tr>
        	<td>EG-SP-202-00-0-1</td>
            <td align="left">Serviços de Levantamento Planialtimétrico</td>
            <td>21/11/2009</td>
            <td>21/11/2010</td>
            <td>20</td>
            <td>90</td>
            <td><img src="../../../Program Files/Apache Software Foundation/Tomcat 5.5/webapps/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/SupplyWeb/serio.gif"></td>
        </tr>
        <tr>
        	<td>EG-SP-202-00-0-1</td>
            <td align="left">Serviços de Levantamento Planialtimétrico</td>
            <td>21/11/2009</td>
            <td>21/11/2010</td>
            <td>60</td>
            <td>80</td>
            <td><img src="../../../Program Files/Apache Software Foundation/Tomcat 5.5/webapps/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/SupplyWeb/feliz.gif"></td>
        </tr>
        </tbody>
        </table>
    	</center>
	<!-- END Conteudo guia 4 -->
	</div>
    
    <div class="DHTMLSuite_aTab">
	<!-- START Conteudo guia 5 -->
		<br>
    	<center>
		<table id="cancelados" border="1" width="93%" height="" bordercolor="#000000" cellpadding="6" cellspacing="0">
        <thead>
        <tr>
        	<td>RC</td>
            <td>Descrição</td>
            <td>Necessidade</td>
            <td>Orçado (R$)</td>
            <td>Cancelado Etapa</td>
            <td>Cancelado Data</td>
            <td>Justificativa</td>            
        </tr>
        </thead>
        <tbody>
        <%	
			List<Cancelados> listCancelados = (List<Cancelados>) request.getAttribute("processosCancelados");   //Segundo List
			Iterator<Cancelados> xC = listCancelados.iterator();
			
			int aC = 1;
			
			while (xC.hasNext()){
				Cancelados cancel = xC.next();
				
							 aC = aC + 1;	
			} // fim while
				
			//out.println(list.get(a).getRc());
				//if (list.getRc(1).equals("Em andamento") or list.getRc(1).equals("Em andamento")) {
			for(int iC=0;iC<listCancelados.size();iC++) {
		%>
        
       <tr width="1" height="">
        	<td width="1" height=""><%=listCancelados.get(iC).getRc()%></td>
            <td align="left" width="" height="10"><%=listCancelados.get(iC).getDescricao()%></td>
            <td width="1" height=""><%=listCancelados.get(iC).getNecessidade()%></td>
            <td width="1" height=""><%=listCancelados.get(iC).getOrcado()%></td>
            <td width="1" height=""><%=listCancelados.get(iC).getEtapa()%></td>
            <td width="1" height=""><%=listCancelados.get(iC).getPrevEtapa()%></td>           
            <td width="1" height=""><img src="../../../Program Files/Apache Software Foundation/Tomcat 5.5/webapps/SupplyWeb/imagens/feliz.gif"></td>
        </tr>
		<%
		    } //fim for
		%>
        
        
        
        <tr>
        	<td>EG-SP-202-00-0-1</td>
            <td align="left">Serviços de Levantamento Planialtimétrico</td>
            <td>19/11/2009</td>
            <td>371.604,00</td>
            <td>Homoloação</td>
            <td>18/11/2009</td>
            <td>Cancelamento a pedido do cliente</td>            
        </tr>
        </tbody>
		</table>
		</center>
	<!-- END Conteudo guia 5 -->
	</div>
    
</div>

<script type="text/javascript">
var tabViewObj = new DHTMLSuite.tabView();
tabViewObj.setParentId('DHTMLSuite_tabView1');
tabViewObj.setTabTitles(Array('Processos','Resumo','Prazos','Contrato','Cancelados'));
tabViewObj.setIndexActiveTab(1);
tabViewObj.setWidth('700'); 
tabViewObj.setHeight('303');
tabViewObj.init();

<!-- START Criação Efeito da tabela -->
addTableRolloverEffect('primeira','tableRollOverEffect1','tableRowClickEffect1');
addTableRolloverEffect('segunda','tableRollOverEffect1','tableRowClickEffect1');
addTableRolloverEffect('encerrados','tableRollOverEffect1','tableRowClickEffect1');
addTableRolloverEffect('cancelados','tableRollOverEffect1','tableRowClickEffect1');
<!-- END Criação Efeito da tabela -->

</script>
</body>
</html>

12 Respostas

E

Segue o log do erro:

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: 260 in the jsp file: /dhtml-suite-for-applications/demos/demo-tabs-2.jsp
Cancelados cannot be resolved to a type
257:         </thead>
258:         <tbody>
259:         <%	
260: 			List<Cancelados> listCancelados = (List<Cancelados>) request.getAttribute("processosCancelados");   //Segundo List
261: 			Iterator<Cancelados> xC = listCancelados.iterator();
262: 			
263: 			int aC = 1;


An error occurred at line: 260 in the jsp file: /dhtml-suite-for-applications/demos/demo-tabs-2.jsp
Cancelados cannot be resolved to a type
257:         </thead>
258:         <tbody>
259:         <%	
260: 			List<Cancelados> listCancelados = (List<Cancelados>) request.getAttribute("processosCancelados");   //Segundo List
261: 			Iterator<Cancelados> xC = listCancelados.iterator();
262: 			
263: 			int aC = 1;


An error occurred at line: 261 in the jsp file: /dhtml-suite-for-applications/demos/demo-tabs-2.jsp
Cancelados cannot be resolved to a type
258:         <tbody>
259:         <%	
260: 			List<Cancelados> listCancelados = (List<Cancelados>) request.getAttribute("processosCancelados");   //Segundo List
261: 			Iterator<Cancelados> xC = listCancelados.iterator();
262: 			
263: 			int aC = 1;
264: 			


An error occurred at line: 266 in the jsp file: /dhtml-suite-for-applications/demos/demo-tabs-2.jsp
Cancelados cannot be resolved to a type
263: 			int aC = 1;
264: 			
265: 			while (xC.hasNext()){
266: 				Cancelados cancel = xC.next();
267: 				
268: 							 aC = aC + 1;	
269: 			} // fim while


Stacktrace:
	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93)
	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
	org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:451)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:319)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	control.Processos.doGet(Processos.java:39)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
A

Olá Ellen, pelo código fica difícil enchegar o erro, tem alguma tag ou scriptlet errado/mal formatado.

O ideal é você incrementar aos poucos, tira todos o código, deixa só o html, depois vai adicionando aos poucos e testando até ficar com todas as funcionalidades.

Uma outra coisa é usar a JSTL que ficará bem simples e legível, troque o scriptlet pela JSTL que vai simplificar muito o códico.

E

Alberes:
Olá Ellen, pelo código fica difícil enchegar o erro, tem alguma tag ou scriptlet errado/mal formatado.

O ideal é você incrementar aos poucos, tira todos o código, deixa só o html, depois vai adicionando aos poucos e testando até ficar com todas as funcionalidades.

Uma outra coisa é usar a JSTL que ficará bem simples e legível, troque o scriptlet pela JSTL que vai simplificar muito o códico.

Ei Alberes,

Dá erro nesta parte:

<%	
			
			List<Cancelados> listCancelados = (List<Cancelados>) request.getAttribute("processosCancelados");   //Segundo List
			Iterator<Cancelados> xC = listCancelados.iterator();
			
			int aC = 1;
			
			while (xC.hasNext()){
				Cancelados cancel = xC.next();
				aC = aC + 1;	
			} // fim while
				
			out.println("O valor de aC é de: " + aC);
				//if (list.getRc(1).equals("Em andamento") or list.getRc(1).equals("Em andamento")) {
			//for(int iC=0;iC<listCancelados.size();iC++) {
			
		%>
E

Eu não posso fazer isso em minha classe não?

O List esta substituindo o List no meu jsp.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws 

ServletException, IOException {
		String projeto = request.getParameter("projeto");
		//PrintWriter out = response.getWriter();
		//out.println("ESSE É O PROJETO QUE EU CLIQUEI: " + projeto);
		
		List<Processo> results;
		List<Cancelados> resultsC;
		
		ListaProcessos Processos = new ListaProcessos(); 
		results = Processos.Lista(request, projeto);// passa o parametro
        request.setAttribute("processosEncontrados", results); 
        request.getRequestDispatcher("/dhtml-suite-for-applications/demos/demo-tabs-2.jsp").forward

(request, response); 
        
        ListaCancelados Cancelados = new ListaCancelados(); 
        resultsC = Cancelados.ListaC(request, projeto);// passa o parametro
        request.setAttribute("processosCancelados", resultsC); 
        request.getRequestDispatcher("dhtml-suite-for-applications/demos/demo-tabs-2.jsp").forward

(request, response);  
	}
E

Ou se não tivesse duas requests… tipo

results = Processos.Lista(request1, request2, projeto);// passa o parametro   
        request.setAttribute("processosEncontrados", results1, results2);

Sei que isso acima nao tem jeito mas algo do tipo que faça isso pois preciso separar list de list.

nel

Mas afinal, você tem duas lists, uma que contém processos e outra que contém cancelados, o que na verdade você queria era uma terceira lista contendo os processos encontrados, é isso?

:slight_smile:

E

nel:
Mas afinal, você tem duas lists, uma que contém processos e outra que contém cancelados, o que na verdade você queria era uma terceira lista contendo os processos encontrados, é isso?

:)

Não, tenho a primeira lista (processos) que funciona direitinho!!!

A segunda (cancelados) apaga a primeira

E a terceira (finalizados) nem foi criada pois a segunda já esta dando erro.

nel

Faça um debug do seu código e verifique se ele está preenchendo corretamente a sua lista de cancelados no seu método doGet().

E

nel:
Faça um debug do seu código e verifique se ele está preenchendo corretamente a sua lista de cancelados no seu método doGet().

Ele preenche corretamente sim porem apaga a primeira lista e dá pau no meu javascript

L

O problema tvz seja que vc não importou a classe Cancelados.

E

Tinha esse erro mesmo mas já importei e continua dando erro

Roger75

Tinha esse erro mesmo mas já importei e continua dando erro

Experimenta fazer outro deploy. Às vezes não está reconhecendo a mudança.

Criado 4 de novembro de 2009
Ultima resposta 5 de nov. de 2009
Respostas 12
Participantes 5