2015.11.26购物车,非cookie版
【点击来,你发现被骗了(笑哭,笑哭,笑哭,源代码的话,留下邮箱吧,是在不好找这一时半会儿的。)】
Jsp通过反射机制获取bean中的标签,但其实,可以没有真实的属性与之对应。只要是符合getset方法设置的名字,就可以通过el表达式在jsp页面中获取。
更新核心代码:
private void update(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Enumeration<String> enumeration = request.getParameterNames();//得到参数名字们。
ShoppingCar shoppingCar = (ShoppingCar) request.getSession().getAttribute("shoppingCar");
Map<Integer, GoodsInCar> map = shoppingCar.getMap();
while(enumeration.hasMoreElements()){
String idString = enumeration.nextElement();//取得某一个参数
if(!"method".equals(idString)){//参数名不能为 update。因为 它并不对应一个值。
String value = request.getParameter(idString);//通过参数名获得对应参数值。
System.out.println(map.containsKey(Integer.parseInt(idString)));//key这个类型不一样可以么?先把正确的试出来,然后再试奇葩的。
//改几个,输出几个true就对了,好吧类型要一直应该
//不是应该,而是,就是! 虽然是object但是 类型必须对应一致!
map.get(Integer.parseInt(idString)).setNumber(Integer.parseInt(value));//也改成了
}
}
lookMyCar(request, response);
}
更新核心代码:
containsKey要求必须类型一致。
复习:
监听器:
requestListener httpSessionListener servletContexListener
这些对象创建和销毁的监听
RequestAttributeListener HttpSessionAttributeListener
ServletContextAttributeListener
给这些对象上,添加 删除 修改 属性的时候监听
利用 HttpSessionLIstener 的销毁方法做在线用户列表的更细(如果用户超过30min未操作的话)
2、自定义标签
1)标签处理程序
2)标签描述文件tld
3)Jsp页面taglib uri tld (uri,tld目录)
标签处理程序:当执行到某个标签的开始,结束时调用。在对应的标签处理程序中(java代码),执行对应的方法,在对应的方法中操作jsp页面。
JspContext PageContext JspWriter BodyContext
通过 这几个对象,就可以操作jsp页面中的数据。
分页标签:给处理程序的属性赋值的时候,实际就是给定标签的属性值。
标签有没有属性,怎么样的属性,是否允许在jsp页面中给值,是在标签的描述文件也就是对应的tld文件中,配置值:attribute,是否是必须的,是否是需要从jsp中给出的。
本天内容:
购物车:
1、学一个能够描述,现实生活中的购物车类,当需要购物车的时候,就new一个出来。
2、把所有的商品展现出来
3、添加购物车
4、删除购物车中某一个商品(多选框,全部删除)
5、修改购物车,购买商品的数量
6、每一种商品的总价,整个购物车中所有商品的总价。