Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/01/2014, 16:27
GunnerJm
 
Fecha de Ingreso: enero-2014
Ubicación: En mi Laptop.
Mensajes: 32
Antigüedad: 11 años
Puntos: 1
Pregunta Session dentro de un Action, Java-JSP

Buenas, tengo un problema capturando los objetos en un Session. La Session solo captura 1 vez y cuando vuelve a entrar me sale este error.

Código HTML:
Ver original
  1. java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.libertadores.bean.IncidenciaDetalle at com.libertadores.action.IncidenciaMantenimientoAction.AgregarDetalleObjCant(IncidenciaMantenimientoAction.java:289)
  2.     at org.apache.jsp.pages.IncidenciaEInforme.addDetIncidencia_jsp._jspService(addDetIncidencia_jsp.java:77)

Que se refiere a esta linea de mi codigo.

Código Java:
Ver original
  1. IncidenciaDetalle inciSession = (IncidenciaDetalle) session.get("incidetalle");

Este es mi codigo.

Código Java:
Ver original
  1. private int contCodDet=1;
  2.     @SuppressWarnings({ "unchecked", "unused" })
  3.     public String AgregarDetalleObjCant(String objetos, int cant){
  4.         StringBuffer resul=new StringBuffer();
  5.         DettipoDTO objObj=null;
  6.         try {
  7.             System.out.println("Obj: " + objetos); 
  8.    
  9.             objObj = servicioDetalle.findOne(Integer.parseInt(objetos));
  10.            
  11.             /* Aumente desde aqui */
  12.             System.out.println("Antes de la Session");
  13.            
  14.             IncidenciaDetalle inciSession = (IncidenciaDetalle) session.get("incidetalle");
  15.                    
  16.             List<IncidenciaDetalle> lista= null;
  17.             if( session.get("incidetalle")== null){
  18.                 lista = new ArrayList<IncidenciaDetalle>();
  19.                 session.put("incidetalle", lista);
  20.             }else{
  21.                 lista = (List<IncidenciaDetalle>) session.get("incidetalle");
  22.             }
  23.            
  24.             System.out.println("Total Session: "+ inciSession);
  25.             System.out.println("Antes del If 0");
  26.            
  27.  
  28.             System.out.println("Entre al For");
  29.             if(cant!=0){
  30.                 for(IncidenciaDetalle in : lista)
  31.                 {
  32.                     contCodDet++;
  33.                 }
  34.            
  35.             System.out.println("Salio del For");
  36.            
  37.             /* Hasta aqui*/
  38.            
  39.             resul.append("<table id='tbDetalleIncidencia' class='ui-widget ui-widget-content' style='width: 50%; font-size: 15px; ' align='center'>"+
  40.                     "<thead>"+
  41.                       "<tr class='ui-widget-header'>"+
  42.                         "<th colspan='6' align='center'>Detalle</th>"+
  43.                       "</tr>"+
  44.                     "</thead>"+
  45.                     "<thead>"+
  46.                       "<tr class='ui-widget-header'>"+ 
  47.                         "<th>Codigo</th>"+
  48.                         "<th>Obejto/Lenceria</th>"+
  49.                         "<th>Cantidad</th>"+
  50.                         "<th>Accion</th>"+
  51.                       "</tr>"+
  52.                     "</thead>"+
  53.                     "<tbody>");
  54.  
  55.                 System.out.println("Agarro el objeto = "+ objObj.getDTipDescripcion());
  56.                
  57.                 resul.append("<tr>" +
  58.                         "<td>"+contCodDet+"</th>"+
  59.                         "<td>"+objObj.getDTipDescripcion()+"</td>" +
  60.                         "<td>"+cant+"</td>" +
  61.                         "<td>"+"<input type='radio'>"+
  62.                         "</td></tr>");
  63.            
  64.                 IncidenciaDetalle wer = new IncidenciaDetalle();   
  65.                
  66.                 wer.setId(contCodDet+"");
  67.                 System.out.println("Cod:" + contCodDet);
  68.                 wer.setObj(objObj.getDTipDescripcion());
  69.                 System.out.println("Cod:" + objObj.getDTipDescripcion());
  70.                 wer.setCantidad(cant);
  71.                 System.out.println("Cant:" + cant);
  72.                
  73.                 lista.add(wer);
  74.                
  75.                 System.out.println("Total: "+ lista.size());
  76.                
  77.                 session.put("incidetalle", lista);
  78.                
  79.                 System.out.println("Total Session: "+ lista.size());
  80.             }
  81.  
  82.         } catch (Exception e) {
  83.             e.printStackTrace();
  84.         }
  85.        
  86.         resul.append("</tbody>"+
  87.                  "</table>");
  88.         return resul.toString();
  89.        
  90.     }

Necesito Ayuda.

Saludos!!