财产';someproperty';在类型java.lang.String上找不到
我得到了这个错误,我无法找出问题可能在哪里。“userid”列位于数据库和bean中。有人知道吗财产';someproperty';在类型java.lang.String上找不到,java,jsp,servlets,javabeans,Java,Jsp,Servlets,Javabeans,我得到了这个错误,我无法找出问题可能在哪里。“userid”列位于数据库和bean中。有人知道吗 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:
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
org.apache.jasper.JasperException:在第24行处理JSP页面/user.JSP时发生异常
21:
22:
23:用户ID:
用户名:
LastName:根据我的说法,应该是以下情况之一
userid
数据类型与bean中对应的数据类型不匹配。它可能是整数
,单位为db
- 该属性未在bean类中定义。名称可能不同,您必须推断它是
userid
例外情况基本上是告诉您,${user}
是一个普通的java.lang.String
。根据,它确实没有表示userid
属性的getUserid()
方法
确保在所需范围内设置具体的用户
实例,而不是普通的字符串
。由于您在问题的任何地方都没有说明如何准备作用域变量,因此不可能对此给出有针对性的答案,但至少应该如下所示:
User user = userService.find(id);
request.setAttribute("user", user); // and thus not e.g. setAttribute("user", "user") or something.
您是否在jsp上的任何位置执行${user}
根据另一个问题,当您在JSP中设置var时,JSP会隐式转换为字符串。您在JSP上的用户参数是在哪里设置的?你能包含代码吗?user
不是一个对象,只是一个String
你需要查看用户bean吗?@ZenunKastrioti只是显示user
是在哪里定义的,应该是什么(所以是的,我猜是bean),我不能在这里发布所有代码,但是:userid数据类型实际上是整数。我可以在这里做些什么来解决这个问题呢?所以正如前面所说的,在java类中,它被定义为String
。在任何一方做出改变。例外情况并不能说明这一点。