【发布时间】:2017-11-20 13:13:54
【问题描述】:
我使用 spring 框架创建了一个简单的购物车项目。我创建了一个添加到购物车的按钮,以便在单击时创建该项目的会话。我有以下代码
<button href="/addcart/1">Add to button</button>
这是我的控制器
@RequestMapping("/addcart/{id}")
public ModelAndView goCart(@PathVariable("id")int id,HttpServletRequest request, HttpSession session) {
List<CartItem> cart = new ArrayList<CartItem>();
cart.add(new CartItem(productService.findProductCart(id),1));
session.setAttribute("cart", cart);
ModelAndView model = new ModelAndView();
model.setViewName("cart");
return model;
}
这是我的 CartItem 类
public class CartItem {
private List<Product> product;
private int quantity;
public List<Product> getProduct() {
return product;
}
public void setProduct(List<Product> product) {
this.product = product;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
public CartItem(List<Product> product, int quantity) {
super();
this.product = product;
this.quantity = quantity;
}
public CartItem() {
super();
}
}
这是我的产品类
public class Product {
private int pid;
private String productName;
private int unitPrice;
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public int getUnitPrice() {
return unitPrice;
}
public void setUnitPrice(int unitPrice) {
this.unitPrice = unitPrice;
}
}
我有这个 productDaoImpl 的 productServiceImpl 类
@Override
public List<Product> findProductCart(int id) {
List<Product> cartProduct = new ArrayList<Product>();
String sql = "select * from product where pid= " + id;
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
cartProduct = jdbcTemplate.query(sql, new ProductRowMapper());
return cartProduct;
}
我在jsp中查看过以下代码
<c:forEach var="item" items="${sessionScope.cart}">
<li>${item.quantity}</li>
<li>${item}</li>
</c:forEach>
这个给
1
com.sparktronix.mvc.domain.CartItem@344e01
如何显示会话值产品名称和单价?欢迎任何建议。提前致谢
【问题讨论】:
-
在 jsp forEach 循环中打印
${item.product[0].productName}和${item.product[0].unitPrice}会得到什么? -
你可以试试这个
<c:forEach var="item" items="${sessionScope.cart}"> <li>${item.quantity}</li> <c:forEach items = "${item.product}" var="product"> <li>${product.productName}</li> <li>${product.unitPrice}</li> </c:forEach> </c:forEach>迭代打印 -
@harshavmb 谢谢它解决了我的问题
-
很高兴知道它对您有所帮助!
标签: spring jsp spring-mvc session