您的位置:首页 > Web前端 > JavaScript

jsp中获取session中的map对象

2017-11-22 20:59 302 查看
最近练习书上案例,用struts2标签库获取session中键值的时候遇到了一些问题,不知道如何迭代session中的map型对象。

//CartItem.java
public class CartItem extends ActionSupport{
private Book book;
private Integer quantity;
private BigDecimal price; //省略getter setter
}
//Book.java
public class Book {
private Integer bid;
private String author;
private String title;
private String isbn;
private BigDecimal price;	//省略getter setter

}

//OrderAction.java
public String addOrder() {  //添加订单
//获取session中的user信息和cart订单信息
OrderDao orderDao = new OrderDao();
OrderitemDao itemDao = new OrderitemDao();
Orderitem orderitem;
//存放于order订单中
Order order=new Order();
order.setUserinfo(user);
order.setUserId(user.getUserId());
order.setTotal((Double) session.get("total"));
order.setAddress(address);
order.setZipcode(getZipcode());
try {
orderDao.add(order);
CartItem item;
Set keys = cart.keySet();
if(keys !=null){
Iterator iterator = keys.iterator();
while(iterator.hasNext()){
Object key = iterator.next();
item = (CartItem) cart.get(key);
orderitem = new Orderitem();
orderitem.setBooks(item.getBook());
orderitem.setOrder(order);
orderitem.setQuantity(item.getQuantity().doubleValue());
itemDao.add(orderitem);
}
}
//......
}


在jsp中获取session中的map对象时,用value.属性值,
若要获取的对象不止一层关系,则用value.子对象类名.子对象属性名

注意此处的book是子属性的类名而不是action中的对象名
<s:iterator value="#session.allcart" id="c">
<tr>
<td><s:property value="value.book.title"/></td>
<td><s:property value="value.book.price"/></td>
<td><s:property value="value.quantity"/></td>
<td><s:property value="value.price"/></td>
</tr>
</s:iterator>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: