首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

J2EE不能获取字段值,该怎么处理

2012-07-31 
J2EE不能获取字段值model类Java code@SuppressWarnings(serial)@Entitypublic class ShoppingCart imple

J2EE不能获取字段值
model类

Java code
@SuppressWarnings("serial")@Entitypublic class ShoppingCart implements Serializable{    private int id;    private ProductInfo product;    private ProductStyle style;    private String user;    private int count=1;    @Override    public int hashCode() {        final int prime = 31;        int result = 1;        result = prime * result + id;        return result;    }    public int getCount() {        return count;    }    public void setCount(int count) {        this.count = count;    }    public ShoppingCart(){}    public ShoppingCart(ProductInfo product, ProductStyle style) {        super();        this.product = product;        this.style = style;    }    @Override    public boolean equals(Object obj) {        if (this == obj)            return true;        if (obj == null)            return false;        if (getClass() != obj.getClass())            return false;        ShoppingCart other = (ShoppingCart) obj;        if (id != other.id)            return false;        return true;    }    @Id@GeneratedValue    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    @ManyToOne(cascade=CascadeType.REFRESH,optional=false)    @JoinColumn(name="productid")    public ProductInfo getProduct() {        return product;    }    public void setProduct(ProductInfo product) {        this.product = product;    }    @ManyToOne(cascade=CascadeType.REFRESH,optional=false)    @JoinColumn(name="styleid")    public ProductStyle getStyle() {        return style;    }    public void setStyle(ProductStyle style) {        this.style = style;    }    public String getUser() {        return user;    }    public void setUser(String user) {        this.user = user;    }}


Action类
Java code
public class CartAction extends ActionSupport implements ModelDriven{        private CartFrom cf = new CartFrom();    private ProductManager pm;    private List<ShoppingCart> items = new ArrayList<ShoppingCart>();        public String exec() {        StringBuffer hql = new StringBuffer();        //where product.id=cf.getid and style.id=cf.getid        hql.append("o.product.id=? and o.style.id=? and o.user=?");        Object[] param = new Object[]{cf.getProductid(),cf.getStyleid(),cf.getUser()};        QueryResult<ShoppingCart> qr = pm.getScrollData(ShoppingCart.class,-1,-1, hql.toString(), param);        if (qr.getGetResult().size()>0) {            ShoppingCart car = (ShoppingCart) qr.getGetResult().get(0);            car.setCount(car.getCount()+1);            pm.update(car);        } else {            ShoppingCart cart = new ShoppingCart(new ProductInfo(cf.getProductid()),new ProductStyle(cf.getStyleid()));            cart.setUser(cf.getUser());            pm.save(cart);            pm.refresh(cart);        }        items =  pm.getScrollData(ShoppingCart.class,-1,-1,"o.user=?", new Object[]{cf.getUser()}).getGetResult();        for(ShoppingCart sc : items) {            System.out.println(sc.getProduct().getName());            System.out.println(sc.getCount());        }        return "exec";    }    public List<ShoppingCart> getItems() {        return items;    }    public void setItems(List<ShoppingCart> items) {        this.items = items;    }    public CartFrom getCf() {        return cf;    }    public Object getModel() {        return cf;    }    public ProductManager getPm() {        return pm;    }    public void setCf(CartFrom cf) {        this.cf = cf;    }    @Resource(name="productManager")    public void setPm(ProductManager pm) {        this.pm = pm;    }}



jsp
Java code
    <s:iterator value="items">    <s:property value="product.name" /><s:property value="count" /></s:iterator>



刚存入一条记录然后取出来是空的,要第二次拿才可以拿到它他的名字

[解决办法]
取值方式没有错,自己好好检查吧
[解决办法]
应该是因为action中只有保存数据的逻辑,没有把保存后的数据返回到页面上。
用request把数据返回给页面。
比如:
Map request = (Map) ActionContext.getContext().get("request");
request.put("items", items);

热点排行