After submitting you want to search all products that contain a part of name entered by the client in the servlet "SearchServlet", and then transfer the result to the page "SearchPage.jsp" to display. Which instructions should you write at TODO?
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "
request.setAttribute("RESULT",result);
request.getRequestDispatcher("SearchPage.jsp").forward(request,response);". Muốn trang hiển thị được dữ liệu thì phải đặt kết quả vào phạm vi yêu cầu rồi chuyển tiếp: forward giao quyền xử lý ngay bên trong server và mang theo chính đối tượng yêu cầu đó, nên thuộc tính vừa đặt vẫn còn và trang JSP đọc được bằng biểu thức; địa chỉ trên trình duyệt không đổi và chỉ có một chuyến đi về. Lựa chọn "
request.setAttribute("RESULT",result);
response.sendRedirect("SearchPage.jsp");" sai vì chuyển hướng buộc trình duyệt gửi một yêu cầu mới, yêu cầu cũ bị bỏ cùng mọi thuộc tính nên trang nhận được sẽ không thấy kết quả. Lựa chọn dùng "request.setParameter("RESULT",result)" sai vì yêu cầu không có phương thức đặt tham số: tham số là dữ liệu client gửi lên, mã server chỉ đọc. Lựa chọn dùng "response.getWriter().println("RESULT")" sai vì nó chỉ in ra một chuỗi rồi lại chuyển hướng, vừa không truyền được danh sách sản phẩm vừa ghi dở phản hồi trước khi chuyển.