Asked Jan 16th, 6:44 a.m. 93 0 1
  • 93 0 1
0

JSP Servlet

Share
  • 93 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 ANSWERS


Answered Jan 16th, 7:12 a.m.
+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.

Share
Jan 16th, 8:23 a.m.

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

0
| Reply
Share
Avatar BugHunter @bughunter
Jan 20th, 5:04 a.m.

@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.

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.