-kric- 2019-05-27 19:04 采纳率: 0%
浏览 2183
已采纳

创建List对象,老是报错The left-hand side of an assignment must be a variable?

想利用List实现向数据库中插入一堆数据,但是创建List对象时出错。
List list = (List)session.getAttribute("listname");
if(list==null)
List list = new ArrayList(); //???The left-hand side of an assignment must be a variable?
list.add(one);
session.setAttribute("listname", list);

    完整代码
package servlet;

import java.io.IOException;
import java.util.*;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import beans.St;

/**
 * Servlet implementation class Insert_2
 */
@WebServlet("/insert_2")
public class Insert_2 extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private ServletRequest session;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public Insert_2() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        request.setCharacterEncoding("UTF-8");

        String xh = request.getParameter("xh");
        String xm = request.getParameter("xm");
        double cj = Double.parseDouble(request.getParameter("cj"));

        String xz = request.getParameter("xz");

        St one = new St(xh, xm, cj);

        List list = (List)session.getAttribute("listname");
        if(list==null) 
            List<St> list = new ArrayList<St>();   //???
        list.add(one);
        session.setAttribute("listname", list);

        if(!xz.equals("no")) {
            request.setAttribute("aaa", list);
            RequestDispatcher rd = request.getRequestDispatcher("insert_22");
            rd.forward(request, response);
            System.out.println(xz+"结束");
        }
        else {
            RequestDispatcher rd = request.getRequestDispatcher("input_insert1.jsp");
            rd.forward(request, response);
            System.out.println(xz+"继续");
        }
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

  • 写回答

1条回答 默认 最新

  • 毕小宝 博客专家认证 2019-05-28 09:10
    关注

    前面已经定义过 list 了,正确代码应该是:

     if(list==null) {
                 list = new ArrayList<St>();   //???
    }
    
            list.add(one);
    
    

    如果从会话中获取的 list 属性为空,就重新 new 一个。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型