detail页面问题

来源:8-8 使用Cookie实现保存商品浏览记录

暴风雨来了

2015-01-24 18:49

在同一个detail页面刷新,会出现多个相同的浏览记录

54c3787e0001bcb705000334.jpg

写回答 关注

4回答

  • callme激流
    2015-02-12 10:46:36

    上面说的不通顺:

    因为你是通过URL传值的,地址栏../detail.jsp?id=6 ,所以每次request.getParameter("id")都能得到值,而list+=request.getParameter("id")+","     这样list每次都会加上 6,显示的时候是用list根据这个字符串从数据库中取数据的,所以刷新一次,list增加一次,自然浏览商品增加一个


  • callme激流
    2015-02-12 10:44:20

    因为你是通过URL传值的,地址栏../detail.jsp?id=6 ,所以每次request.getParameter("id"),所以

    list+=request.getParameter("id")+","     这样list每次都会加上 6,显示的时候是用list根据这个字符串从数据库中取数据的,所以刷新一次,list增加一次,自然浏览商品增加一个

  • 暴风雨来了
    2015-01-26 11:23:49
    <%
       	String list = "";
       	Cookie[] cookies = request.getCookies();
       	if(cookies!=null && cookies.length>0){
      		for(Cookie c:cookies){
       			if(c.getName().equals("ListViewCookie")){
       				list=c.getValue();
       			}
       		}
       	}
       	list+=request.getParameter("id")+ ",";
       	//如果浏览记录超过1000条,清零
       	String[] arr = list.split(",");
       	if(arr!=null && arr.length>0){
       		if(arr.length>=1000){
       			list="";
       		}
       	}
       	Cookie cookie = new Cookie("ListViewCookie",list);
       	response.addCookie(cookie);
     %>


    小王子抓猫咪 回复血手人屠

    这种简单的问题你自己认真想想就能解决。这种问题的本质就是一个字符串的问题,你直接在最近浏览的商品ID数组内寻找新的ID,如果存在,就不添加。不存在才添加新浏览的商品ID。这样你显示的商品记录表中就不会存在重复的商品了。

    2015-02-08 18:22:13

    共 2 条回复 >

  • 好帮手慕珊
    2015-01-26 09:42:40

    有可能添加cookie的时候是把之前的内容替换了。吧jsp页面的代码贴一下吧

    暴风雨来了

    看楼下,有关Cookie的代码

    2015-01-26 11:24:28

    共 1 条回复 >

JAVA遇见HTML——JSP篇

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

248278 学习 · 3071 问题

查看课程

相似问题