异常:javax.el.PropertyNotFoundException: Property 'id' not found on ..........

本文解决了一个因实体类属性首字母大小写不规范导致的EL表达式无法获取属性值的问题。详细介绍了如何根据JavaBeans规范调整属性名称及对应的get、set方法,并在数据库映射文件中进行相应更改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提是改动了数据库表中的结构,在原有的数据库表中新添加了一个字段:TempPaths

------------------------------------------------------------------------------------

所以在对应的实体类DocTemp中添加了一个属性:TempPaths 

在数据库实体类映射文件DocTemp.hbm.xml中加入一个属性和对应的get、set方法

 

public static String PROP_TEMP_PATHS = "TempPaths";

 private java.lang.String TempPaths;

 public java.lang.String getTempPaths() {
  return TempPaths;
 }

 public void setTempPaths(java.lang.String TempPaths) {
  this.TempPaths = TempPaths;
 }

 

 <property
   name="TempPaths"
   column="TempPaths"
   type="string"
   not-null="false"
   length="200"
  />

 

在后台action中查询数据库返回的DocTemp对象后 将DocTemp传递到jsp中,jsp中用${DocTemp.TempPaths}接收值时报错:

异常:javax.el.PropertyNotFoundException: Property 'id' not found on ..........

 

搞了半天终于搞清楚问题出在什么地方了   根据 JavaBeans 规范,属性的前两个字母不能是一大一小,或者是一小一大。开头字母要小写才行。

 

正确的是在对应的实体类DocTemp中添加了一个属性:tempPaths 

 在数据库实体类映射文件DocTemp.hbm.xml中加入一个属性和对应的get、set方法

public static String PROP_TEMP_PATHS = "TempPaths";

 private java.lang.String tempPaths;

 public java.lang.String getTempPaths() {
  return tempPaths;
 }

 public void setTempPaths(java.lang.String tempPaths) {
  this.tempPaths = tempPaths;
 }

 <property
   name="TempPaths"
   column="TempPaths"
   type="string"
   not-null="false"
   length="200"
  />

jsp中${DocTemp.tempPaths}接收值

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值