JSTL在JavaBean中找不到属性
我有一个非常类似于此堆栈溢出问题JSP在bean中找不到属性的)问题。还有这个问题javax.el.PropertyNotFoundException:在类型com.example.Bean上找不到属性’foo’。但是,就我而言,我认为我已经完成了所有工作,但仍然出现错误。
private double otheramount; private int no;
private String name;
public double getOtherAmount()
{
return otheramount;
}
public void setOtherAmount(double newotheramount)
{
otheramount = newotheramount;
}
public int getNo()
{
return no;
}
public void setNo(int newno)
{
no = newno;
}
public String getName()
{
return name;
}
public void setName(String newname)
{
name = newname;
}
while(rs.next()) {
MyBean mybean = new MyBean();
mybean.setNo(rs.getInt("No"));
mybean.setName(rs.getString("Full_Names"));
mybean.setOtherAmount(rs.getDouble("OtherAmount"));
allresults.add(mybean);
}
try{
ArrayList allresults = mydao.search();
request.setAttribute("allresults",allresults);
RequestDispatcher dispatch =request.getRequestDispatcher("Pages/mypage.jsp");
dispatch.forward(request, response);
}
catch(Exception ex)
{
}
<c:forEach var="results" items="${requestScope.allresults}"> <tr>
<td><c:out value="${results.no}"></c:out></td>
<td><c:out value="${results.name}"></c:out></td>
<td><c:out value="${results.otheramount}"></c:out></td>
</tr>
</c:forEach>
问题是,当我对零件进行注释时,<c:out
value="${results.otheramount}"></c:out>它可以正常运行,并且不会引发任何错误。但是,取消注释此部分会导致找不到属性错误。附带说明,属性otheramount是在很久以后添加的。
我正在使用Netbeans 7.1.2。任何帮助,不胜感激。
回答:
不能根据专用字段名称解析Bean属性名称。而是根据getter方法名称解析它们。
因此,在您的特定情况下,属性名称不是otheramount
,而是otherAmount
。
也可以看看:
- JavaBeans规范
- JavaBeans教程
以上是 JSTL在JavaBean中找不到属性 的全部内容, 来源链接: utcz.com/qa/410685.html