我用play框架做了一个购物车,但是页面不能取到值
购物车类: package controllers; import play.cache.Cache; import play.mvc.Controller; import play.mvc.Scope.Session; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import models.Book; import models.CartItem; public class Cart extends Controller { public static List<CartItem> cart = null; public static void addToCart(long id, Integer quantity) { Book book = Book.findById(id); if (cart == null) { System.out.println("cart == null"); cart = new ArrayList<CartItem>(); CartItem item = new CartItem(book, quantity); cart.add(item); System.out.println(cart); renderTemplate("Orders/show.html", cart); } else { Object items[] = cart.toArray(); boolean find = false; // 表示是否查找到 for (int i = 0; i < items.length; i++) { CartItem item = (CartItem) items[i]; // 判断购物车中是否存在要添加的物品 if (item.book.id.equals(id)) { System.out.println("cart.contains(book)"); item.quantity += quantity; cart.add(item); System.out.println(cart); find = true; renderTemplate("Orders/show.html", cart); break; } } if (!find) { // 添加到购物车 System.out.println("cart.null(book)"); CartItem item = new CartItem(book, quantity); cart.add(item); System.out.println(cart); renderTemplate("Orders/show.html", cart); } } } } 购物车条目类: package models; import play.db.jpa.Model; public class CartItem extends Model{ public Book book; public Integer quantity; public CartItem() { // TODO Auto-generated constructor stub } public CartItem(Book book, Integer quantity) { this.book = book; this.quantity = quantity; } } 实体类:Book.java import java.util.ArrayList; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.Transient; import play.db.jpa.Model; @Entity @Table(name="books") public class Book extends Model{ public String title; public String author; public String publisher; public Integer type; public String description; public int bookAmount; @Column(name="image_Url") public String imageUrl; public Double price; @Column(name="price_market") public Double priceMarket; @Transient public OrderDetail orderDetail; } 显示购物车信息的show.html #{list items:item, as:'cars'} <tr> <td class="index">1</td> <td><a href="../books/show.html?id=1">${cars.book.title}</a></td> <td class="orgiprice">¥${cars.book.priceMarket}</td> <td>¥${cars.book.price}</td> <td><input name="quantity" value="${cars.quantity}"></td> <td>¥</td> <td class="remove"><a href="#" onclick="return confirm('确定要删除该图书?')">X</a></td> </tr> #{/list}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
其实是我的代码错误, 过了这么久, 想不起来怎么解决了.
我很奇怪为什么解决后不能分享下你的方法呢?也许会有其它人遇到同样的问题。 好像中国的程序员在国内外论坛提完问题都这样。
已经成功解决了,谢谢
你也说说是哪个获得不了啊,
html里面的item是哪里来的?我看不出为什么会获得啊