Foros del Web » Programación para mayores de 30 ;) » Java »

UseBean: No pudo encontrar información de la propiedad

Estas en el tema de UseBean: No pudo encontrar información de la propiedad en el foro de Java en Foros del Web. Saludos: Estoy realizando un proyecto web en J2EE con conexión a Base de Datos MySQL, y estoy comenzando a usar los UseBean. Por una parte, ...
  #1 (permalink)  
Antiguo 03/08/2011, 09:55
Avatar de oscarsb1988  
Fecha de Ingreso: abril-2010
Mensajes: 40
Antigüedad: 14 años, 6 meses
Puntos: 0
De acuerdo UseBean: No pudo encontrar información de la propiedad

Saludos:

Estoy realizando un proyecto web en J2EE con conexión a Base de Datos MySQL, y estoy comenzando a usar los UseBean.

Por una parte, tengo la clase Productos, con todos los campos encapsulados y en teoría todo correcto. ( Está dentro del paquete Modelo ).

Código JAVA:
Ver original
  1. public class Productos {
  2.     private int CodigoP;
  3.     private String Nombre;
  4.     private int Stock;
  5.     private double Precio;
  6.     private double PrecioTotal;
  7.    
  8.     public Productos(){
  9.        
  10.     }
  11.  
  12.     /**
  13.      * @return the CodigoP
  14.      */
  15.     public int getCodigoP() {
  16.         return CodigoP;
  17.     }
  18.  
  19.     /**
  20.      * @param CodigoP the CodigoP to set
  21.      */
  22.     public void setCodigoP(int CodigoP) {
  23.         this.CodigoP = CodigoP;
  24.     }
  25.  
  26.     /**
  27.      * @return the Nombre
  28.      */
  29.     public String getNombre() {
  30.         return Nombre;
  31.     }
  32.  
  33.     /**
  34.      * @param Nombre the Nombre to set
  35.      */
  36.     public void setNombre(String Nombre) {
  37.         this.Nombre = Nombre;
  38.     }
  39.  
  40.     /**
  41.      * @return the Stock
  42.      */
  43.     public int getStock() {
  44.         return Stock;
  45.     }
  46.  
  47.     /**
  48.      * @param Stock the Stock to set
  49.      */
  50.     public void setStock(int Stock) {
  51.         this.Stock = Stock;
  52.     }
  53.  
  54.     /**
  55.      * @return the Precio
  56.      */
  57.     public double getPrecio() {
  58.         return Precio;
  59.     }
  60.  
  61.     /**
  62.      * @param Precio the Precio to set
  63.      */
  64.     public void setPrecio(double Precio) {
  65.         this.Precio = Precio;
  66.     }
  67.  
  68.     /**
  69.      * @return the PrecioTotal
  70.      */
  71.     public double getPrecioTotal() {
  72.         return PrecioTotal;
  73.     }
  74.  
  75.     /**
  76.      * @param PrecioTotal the PrecioTotal to set
  77.      */
  78.     public void setPrecioTotal(double PrecioTotal) {
  79.         this.PrecioTotal = PrecioTotal;
  80.     }
  81. }

Por otro lado, dispongo de un archivo JSP que carga todos los productos que contiene la tabla PRODUCTOS de la Base de Datos, incluidas sus columnas.

Código JAVA:
Ver original
  1. <table border="1">
  2.                             <tr><td>Nombre</td><td>Precio</td><td>Cantidad</td><td>Precio Total</td></tr>
  3.                         <%for (int i=1;i<=st.getMaxRows();i++);
  4.                         {%>
  5.                             <tr>
  6.                             <%for (int j=1;j<=rs.getMetaData().getColumnCount();j++);
  7.                             {                
  8.                                              
  9.                                        
  10.                                         while (rs.next())
  11.                                         {
  12.                                                 try {
  13.                                                    
  14.                                                     Nombre = rs.getString("Nombre");
  15.                                                     Cantidad = request.getParameter(Nombre); //Devuelve lo introducido en el textbox
  16.                                                     CantidadBean = Integer.parseInt(Cantidad);
  17.                                                     Precio = rs.getDouble("Precio");
  18.                                                     Stock = rs.getInt("Stock");
  19.                                                     PrecioTotal = Integer.parseInt(Cantidad) * Precio;
  20.                                                     Total+= PrecioTotal;
  21.                                                     System.out.println("CORRECTO Cantidad: " + Cantidad + " Nombre: " + Nombre + " Precio: " + Precio + " Stock: " + Stock + " Precio Total: " + PrecioTotal);                                                                                                
  22.                                                     %>
  23.                                                     <!--Los datos de las "tablas" a objetos -->
  24.                                                     <jsp:useBean id="<%=Nombre%>" class="Modelo.Productos">
  25.                                                         <jsp:setProperty name="<%=Nombre%>" property="Stock" value="<%=CantidadBean%>"/>                      
  26.                                                    </jsp:useBean>
  27.                                                     <%
  28.                                                     }catch(Exception e){
  29.                                                     System.out.println(e.getMessage());
  30.                                                     System.out.println("ERROR Cantidad: " + Cantidad + " Nombre: " + Nombre + " Precio: " + Precio + " Stock: " + Stock + " Precio Total: " + PrecioTotal);
  31.                                                 }            
  32.                                             %>
  33.                                             <td><%=Nombre%></td><td><%=Precio%></td><td><%=Cantidad%></td><td><%=PrecioTotal%></td></tr>  
  34.                                             <%      
  35.                                             //}
  36.                                        }
  37.                                 }
  38.                             } %>
  39.                             <tr><td colspan="3">TOTAL A PAGAR</td><td><%=Total%></td></tr>
  40.                         </table>

La idea, es que el UseBean guarde el valor CantidadBean, que convierte a Int su valor String, que recoge de otro archivo JSP ( de un textbox ) mediante request.getparameter.

La idea es que el UseBean cree tantos objetos como filas (productos) tenga la tabla.

El problema, es que al ejecutarlo, me salta el error:

Código JAVA:
Ver original
  1. GRAVE: Servlet.service() for servlet [jsp] in context with path [/Septiembre] threw exception [No puedo encontrar información de la propiedad 'Stock' en un bean del tipo 'Modelo.Productos'] with root cause
  2. org.apache.jasper.JasperException: No puedo encontrar información de la propiedad 'Stock' en un bean del tipo 'Modelo.Productos'

Dicho error, me da a entender que el SetParameter de la Propiedad Stock...¿No recoge nada? (Corregidme si estoy equivocado ).

Código JAVA:
Ver original
  1. <jsp:useBean id="<%=Nombre%>" class="Modelo.Productos">
  2.  <jsp:setProperty name="<%=Nombre%>" property="Stock" value="<%=CantidadBean%>"/>                      
  3. </jsp:useBean>

Por lo que intuyo, es que el error, se encuentra en el atributo value. Por eso me gustaría que le echáseis un vistazo, a ver si lográis comprender la causa del error y alguna posible solución.

Gracias :)
  #2 (permalink)  
Antiguo 03/08/2011, 13:31
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: UseBean: No pudo encontrar información de la propiedad

A mi entender tienes varias cosas mal, pero empezaría por seguir las convenciones de JavaBeans

Nombres de propiedades/atributos empiezan con minúscula codigoP,nombre,stock...

Los getter/setter estarían bien como están, con la primera letra del atributo en mayúscula.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: encontrar, jsp, jsp-servlets, propiedad, servlet, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:01.