@JFinal 你好,想跟你请教个问题:
Jsp中为什么取不到值?
报错:
Servlet.service() for servlet jsp threw exception
javax.el.PropertyNotFoundException: Property 'pictName' not found on type com.demo.gallery.Gallery
这个Gallery类 extends Model<Gallery>,后台中有pictName这个字段呀.为什么取不到呢?
代码如下:
public void carShopList(){ CartBiz cb=(CartBiz) getSession().getAttribute("shopCart"); if (cb!=null){ List<CarItem> list=cb.getCarItems(); System.out.println("------CarList------"); for (CarItem carItem : list) { System.out.println(carItem.getGallery().getStr("pictName")); } setAttr("carList", list) ; } render("cartShop.jsp"); }
package com.demo.car; import java.math.BigDecimal; import com.demo.gallery.Gallery; public class CarItem { private Gallery gallery; private Integer qty; private BigDecimal totalPrice; public CarItem(Gallery gallery,Integer qty){ super(); this.gallery=gallery; this.qty=qty; } public Gallery getGallery() { return gallery; } public void setGallery(Gallery gallery) { this.gallery = gallery; } public Integer getQty() { return qty; } public void setQty(Integer qty) { this.qty = qty; } public BigDecimal getTotalPrice() { BigDecimal bdQty=new BigDecimal(this.qty); BigDecimal bdPrice=this.gallery.getBigDecimal("price"); this.totalPrice= bdQty.multiply(bdPrice); return totalPrice; } public BigDecimal getPrice(){ return this.gallery.getBigDecimal("price"); } }
public class Gallery extends Model<Gallery> { public static final Gallery dao=new Gallery(); }
JSP页面代码:
<c:forEach items="${carList}" var="carItem">
<td> <a class="fdImg" src="upload/${carItem.gallery.pictName}" style="width: 50px; height: 50px;" alt="" /> </a> </td></c:forEach>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
jspRender对 CarItem对象没有转换处理,直接返回本身,导致carItem里面的对象不再转换。
privateObjecthandleObject(Objectvalue,intdepth){if(value==null||(depth--)<=0)returnvalue;if(valueinstanceofList)returnhandleList((List)value,depth);elseif(valueinstanceofModel)returnhandleMap(CPI.getAttrs((Model)value),depth);elseif(valueinstanceofRecord)returnhandleMap(((Record)value).getColumns(),depth);elseif(valueinstanceofMap)returnhandleMap((Map)value,depth);elseif(valueinstanceofPage)returnhandlePage((Page)value,depth);elseif(valueinstanceofObject[])returnhandleArray((Object[])value,depth);elsereturnvalue;}
CarItem继承Model,或
Gallery加get方法。或用freemarker、beetl等模板解析。