在类型java.lang.String上找不到属性'someproperty'

Han*_*Han 5 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:         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 
Run Code Online (Sandbox Code Playgroud)

谢谢.

Bal*_*usC 4

例外基本上就是告诉你这${user}是一个普通的java.lang.String. 根据javadoc,它确实没有getUserid()表示属性的方法userid

确保您User在所需范围内设置具体实例,而不是普通的普通实例String。由于您没有在问题中的任何地方显示如何准备作用域变量,因此不可能对此给出有针对性的答案,但它至少应该看起来像这样:

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