购物车非cookie版

时间:2021-07-01 14:54:47

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、每一种商品的总价,整个购物车中所有商品的总价。