Exception accessing property uId for bean houseInfo: java.lang.NoSuchMethodException: Unknown proper
报错总是说我的houseInfo中没有uId ,但是我在HouseInfo(实体类中)仔细看过了 private int uId ; 和相应的get set 都写了啊javax.servlet.jsp.JspException: Exception accessing property uId for bean houseInfo: java.lang.NoSuchMethodException: Unknown property 'uId'
at org.apache.struts.taglib.logic.CompareTagBase.condition(CompareTagBase.java:194)
at org.apache.struts.taglib.logic.EqualTag.condition(EqualTag.java:46)
at org.apache.struts.taglib.logic.ConditionalTagBase.doStartTag(ConditionalTagBase.java:174)
at org.apache.jsp.jsps.list_jsp._jspx_meth_logic_005fequal_005f0(list_jsp.java:991)
at org.apache.jsp.jsps.list_jsp._jspService(list_jsp.java:268)code]
[code=Java]<logic:iterate id="houseInfo" name="list">
<tr>
<td width='250' class="table_title">
<bean:write name="houseInfo" property="title" />
<logic:equal name="houseInfo" property="uId" value="${sessionScope.userId}">
[<a href="...">编辑</a>][<a href="...">删除</a>]
</logic:equal>
at org.apache.struts.taglib.logic.CompareTagBase.condition(CompareTagBase.java:194)
at org.apache.struts.taglib.logic.EqualTag.condition(EqualTag.java:46)
at org.apache.struts.taglib.logic.ConditionalTagBase.doStartTag(ConditionalTagBase.java:174)
at org.apache.jsp.jsps.list_jsp._jspx_meth_logic_005fequal_005f0(list_jsp.java:991)
at org.apache.jsp.jsps.list_jsp._jspService(list_jsp.java:268)code]
[code=Java]<logic:iterate id="houseInfo" name="list">
<tr>
<td width='250' class="table_title">
<bean:write name="houseInfo" property="title" />
<logic:equal name="houseInfo" property="uId" value="${sessionScope.userId}">
[<a href="...">编辑</a>][<a href="...">删除</a>]
</logic:equal>
List list = biz.search(houseInfoForm.getItem());
HouseInfo house = (HouseInfo)list.get(1);
System.out.println(house.getUId());
System.out.println(house.getRent());
request.setAttribute("list", list);
uId 和 rent 都是正常输出的 说明list 中是有值的 , 晕了 错在哪了呢?
我想问一下上面一行代码中的"uId"是谁的属性!
<bean:write name="houseInfo" property="title" />
就正常显示了.public class HouseInfo implements Serializable { /**
*
*/
private static final long serialVersionUID = 1L;
private int houseId ;
private int uId ;
private int room ;
private int hall ;
private double rent ;
private String title ;
private Date issuanceDate ;
public Date getIssuanceDate() {
return issuanceDate;
}
public void setIssuanceDate(Date issuanceDate) {
this.issuanceDate = issuanceDate;
}
public double getRent() {
return rent;
}
public void setRent(double rent) {
this.rent = rent;
} public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getUId() {
return uId;
}
public void setUId(int id) {
uId = id;
} public int getHall() {
return hall;
}
public void setHall(int hall) {
this.hall = hall;
}
public int getRoom() {
return room;
}
public void setRoom(int room) {
this.room = room;
}
}
public int getUId() {
return uId;
}
public void setUId(int id) {
uId = id;
}但是居然还给我报错说是
javax.servlet.jsp.JspException: No getter method for property uId of bean houseInfo
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:973)
at org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:225)
at org.apache.jsp.jsps.list_jsp._jspx_meth_bean_005fwrite_005f1(list_jsp.java:984)
at org.apache.jsp.jsps.list_jsp._jspService(list_jsp.java:265)
哪位高人帮忙解释一下啊 怎么会这样呢? 会不会uId在这里是什么关键字啊?
return uId;
} public void setuId(Long uId) {
this.uId = uId;
}
return uId;
}
public void setUId(int id) {
uId = id;
}你指的是 "i " 不要大写?
在使用get ,set 属性时前面两定字母不能大写,要不然struts标签找不到该属性的get,set 方法。
到底是什么问题了?楼主问题已经解决不知楼主用的什么数据库
如果是mysql的话,那么这个uid 在数据库中好像也会出现问题。