@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等模板解析。