0
JSP Servlet
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ị.
Thêm một bình luận
1 CÂU TRẢ LỜI
+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.
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