【问题标题】:JSP session.getAttribute exception errorJSP session.getAttribute 异常错误
【发布时间】:2015-05-27 19:41:57
【问题描述】:

所以我正在尝试使用会话制作购物车。 如果我第一次添加一个项目,它会成功,但如果我添加另一个项目,它将作为异常错误返回。 (我已经在会员登录时声明了 session.setAttribute("i","0"))

这里是 doAddCart.jsp

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%
    String id = request.getParameter("id");
    String qty = request.getParameter("qty");
    String temp = (String)session.getAttribute("i");
    int temp2 = Integer.parseInt(temp)+1;
    session.setAttribute("i",temp2);
    temp = Integer.toString(temp2);
    session.setAttribute(temp,id);
    session.setAttribute("q"+temp,qty);
    response.sendRedirect("../product.jsp");
%>

这是我得到的错误

org.apache.jasper.JasperException: An exception occurred processing JSP page /Controller/doAddCart.jsp at line 5

2: <% 
3:  String id = request.getParameter("id"); 
4:  String qty = request.getParameter("qty"); 
5:  String temp = (String)session.getAttribute("i"); 
6:  int temp2 = Integer.parseInt(temp)+1; 
7:  session.setAttribute("i",temp2); 
8:  temp = Integer.toString(temp2);


Stacktrace:     org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)   javax.servlet.http.HttpServlet.service(HttpServlet.java:722) root cause

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String  org.apache.jsp.Controller.doAddCart_jsp._jspService(doAddCart_jsp.java:68)  org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)  javax.servlet.http.HttpServlet.service(HttpServlet.java:722)    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)   javax.servlet.http.HttpServlet.service(HttpServlet.java:722) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.29 logs.

有没有人可以解决这个问题?

【问题讨论】:

    标签: java jsp session


    【解决方案1】:

    试试这条线

    session.setAttribute("i", String.valueOf(temp2));
    

    【讨论】:

      【解决方案2】:

      这一行假设 session["i"] 是一个字符串:

      String temp = (String)session.getAttribute("i");
      

      这一行将 session["i"] 设置为一个整数:

      session.setAttribute("i",temp2);
      

      删除第 7 行并将其添加到底部,这会将属性保留为字符串:

      session.setAttribute("i",temp);
      

      【讨论】:

      • 但它不会执行增量。
      猜你喜欢
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 2012-04-13
      • 1970-01-01
      • 2012-09-07
      • 2018-01-29
      • 2014-04-06
      相关资源
      最近更新 更多