utilizar utilizando tutorial servlet example ejemplos ejemplo con como beans bean java jsp servlets javabeans

utilizando - Propiedad ''alguna propiedad'' no encontrada en el tipo java.lang.String



jsp usebean ejemplos (3)

Me aparece este error y no puedo descubrir dónde podría estar el problema. La columna "userid" está en la base de datos y está en el bean. ¿Alguien tiene alguna idea?

org.apache.jasper.JasperException: An exception occurred processing JSP page /user.jsp at line 24 21: 22: <form method="POST" action="AdminServlet" name="frmAddUser"> 23: User ID : <input type="text" readonly="readonly" name="userid" 24: value="<c:out value="${user.userid}" />" /> Username : <input 25: type="text" name="firstName" 26: value="<c:out value="${user.firstName}" />" /> LastName : <input 27: type="text" name="lastName" root cause javax.el.PropertyNotFoundException: Property ''userid'' not found on type java.lang.String

Gracias.


¿Estás haciendo un <c:set var="user">${user}</c:set> cualquier parte de jsp?

De acuerdo con la Respuesta 1 en otra pregunta, JSP realiza una conversión implícita a una cadena cuando establece la var en el JSP.


La excepción es decirle básicamente que ${user} es un java.lang.String ordinario. De acuerdo con javadoc , no tiene ningún método getUserid() que represente una propiedad de userid .

Asegúrese de establecer una instancia concreta de User en el ámbito deseado en lugar de una String estándar simple. Como no ha mostrado en ninguna parte de la pregunta cómo está preparando la variable de ámbito, no es posible dar una respuesta específica sobre eso, pero al menos debería tener el siguiente aspecto:

User user = userService.find(id); request.setAttribute("user", user); // and thus not e.g. setAttribute("user", "user") or something.


Uno de los siguientes debería ser el caso, según yo

  • El tipo de datos userid no coincide con el que corresponde en el bean. Puede ser un integer en db.

  • La propiedad no está definida en la clase de bean. El nombre puede ser diferente, y debe inferir que es userid .