Yêu cầu thg 1 16, 6:44 SA 125 0 1
  • 125 0 1
0

JSP Servlet

Chia sẻ
  • 125 0 1
        String target = "HomePage.jsp";
        String mode = request.getParameter("mode");
        MachineDAO machineDAO = new MachineDAO();
        CheckListDAO listDAO = new CheckListDAO();
        String text = request.getParameter("search");
        String[] checkboxs = request.getParameterValues("checkedbox");       
        Machine machine = machineDAO.getMachineByAssetNo(text);
        request.setAttribute("machine", machine);

        String temp = null;

        switch (mode) {
            case "check" -> {
                try {
                    if (checkboxs != null) {
                        for (String checkbox : checkboxs) {
                            if (checkbox.equals("check1W")) {
                                temp = text;
                                listDAO.isChecked(temp, "checklist_1", "W");
                            }
                            if (checkbox.equals("check1M")) {
                                temp = text;
                                listDAO.isChecked(temp, "checklist_1", "M");
                            }
                            if (checkbox.equals("check1Q")) {
                                temp = text;
                                listDAO.isChecked(temp, "checklist_1", "Q");
                            }
                            if (checkbox.equals("check1B")) {
                                temp = text;
                                listDAO.isChecked(temp, "checklist_1", "B");
                            }
                            if (checkbox.equals("check1A")) {
                                temp = text;
                                listDAO.isChecked(temp, "checklist_1", "A");
                            }
                        }
                    }
                } catch (NullPointerException e) {
                    System.out.println(e);
                }
            }
        }

        RequestDispatcher requestDispatcher = request.getRequestDispatcher(target);
        requestDispatcher.forward(request, response);
    }

Mình muốn gán giá trị của biến "text" vào biến "temp" để sử dụng. Khi debug thì mình thấy biến "text" vẫn có giá trị nhưng khi được gán vào thì biến "temp" bị null không lấy được giá trị.

1 CÂU TRẢ LỜI


Đã trả lời thg 1 16, 7:12 SA
+1

Như hình thứ 2 của bạn thì con trỏ debug đang ở vị trí switch (mode), lúc đó thì tất nhiên là temp = null vì code đã thực thi đến dòng temp = text đâu, bạn thử đặt breakpoint vào tất cả các dòng gán giá trị temp = text xem có hit breakpoint không, nếu hit thì ấn step over là thấy biến temp được gán giá trị text.

Chia sẻ
thg 1 16, 8:23 SA

Mình đặt break point vào temp = text thì thấy text cũng bị null luôn nên temp không gán được giá trị. Chắc do vòng if

Avatar BugHunter @bughunter
thg 1 20, 5:04 SA

@sober : phải đặt break point "listDAO.isChecked(temp, "checklist_1", "W");" chứ. nếu đang đặt break point ở "temp = text " thì đã thực thi lệnh đó đâu.

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí