Reputation: 612
I am getting this error and I can not figure out where the problem might be. The "userid" column is in the database and is in the bean. Does anyone have any 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
Thank you.
Upvotes: 5
Views: 32116
Reputation: 42
Are you doing a <c:set var="user">${user}</c:set>
anywhere on the jsp?
According to Response 1 on another question, JSP does an implicit conversion to a string when you set the var in the JSP.
Upvotes: 0
Reputation: 1109735
The exception is basicaly telling you that ${user}
is an ordinary java.lang.String
. According to the javadoc, it has indeed no getUserid()
method representing an userid
property.
Make sure that you're setting a concrete User
instance in the desired scope instead of a plain vanilla String
. As you haven't shown anywhere in the question how you're preparing the scoped variable, it isn't possible to give a targeted answer on that, but it should at least look something like this:
User user = userService.find(id);
request.setAttribute("user", user); // and thus not e.g. setAttribute("user", "user") or something.
Upvotes: 4
Reputation: 13717
One of the following should be the case, according to me
The userid
data-type is not matching with the one corresponding in the bean. It might be integer
in db.
The property is not defined in the bean class. The name might be different, and you must be inferring it to be userid
.
Upvotes: 0