url标签会自动对参数进行url编码
<c:url value="/BookServlet" var = "authorUrl">
<c:param name="method" value="findByAuthor"/>
<c:param name="author" value="${book.author}"/>
</c:url>
多表联查
CartItemDao
public List<CartItem> findByUser(String uid){
String sql = "select * from t_cartitem c, t_book b where c.bid = b.bid and uid = ?";
List<Map<String,Object>> mapList = qr.query();
return toCartItemList(mapList);
}
//把map映射成CartItem
If(map == null)return null;
CartItem cartItem = CommonUtils.toBean(map,CartItem.class);
Book book = CommonUtils.toBean(map,Book.class);
User user = CommonUtils.toBean(map,User.class);
cartItem.setBook(book);
cartItem.setUser(user);
return cartItem;
//把多个Map(List<Map>)映射成多个CartItem(List
List<CartItem> cartItemList toCartItemList(List<Map<String,Object>> mapList){
List<CartItem> cartItemList = new ArrayList<CartItem>();
for(Map map:mapList){
CartItem cartItem = toCartItem(map);
cartItemList.add(cartItem);
}
return cartItemList;
}
//list.jsp
<c:forEach items="${cartItemList }" var="cartItem">
</c:forEach>
//获取所有被勾选的条目复选框
$(":checkbox[name=checkboxBtn][checked=checked]").each(function(){
var id = $(this).val;
}
//统一设置所有条目的复选按钮
function setItemCheckBox(bool){
$(":checkbox[name=checkboxBtn]").attr("checked",bool);
}
//设置结算按钮样式
function setJieSuan(bool){
if(bool){
$("#jiesuan").removeClass(kill).addClass("jiesuan)";
$("#jiesuan").unbind("click");//撤销当前元素上所有click属性
}else{
$("#jiesuan").remove(jiesuan).addClass("kill");
$("#jiesuan").click(function(){return false;})
}
}
//所有条目的个数
$(":checkbox[name=checkboxBtn]").click(function(){
var all = $(":checkbox[name=checkboxBtn]").length;
});
//batchDelete qr.update(sql,cartItemIdArray);//cartItemIdArray必须是object数组