Consider a Java class Food that includes a private field price, a public getter method getPrice(), and a public method calcSubTotal() that computes a subtotal based on a predefined algorithm. Let f be an instance of the Food class. In the context of JavaServer Pages (JSP) Expression Language (EL), which of the following correctly invokes the sub total calculation?
4 phương ánCó giải thích
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: "${
f.calcSubTotal()
}
".Từ bản EL hỗ trợ gọi phương thức, cú pháp có cặp ngoặc đơn nghĩa là gọi thật một phương thức công khai của đối tượng, nên biểu thức này chạy thuật toán tính tổng phụ rồi in giá trị trả về; đó là cách duy nhất trong danh sách kích hoạt được phép tính. Lựa chọn "${f.price}" chỉ truy cập thuộc tính, EL gọi getPrice() và cho ra đơn giá, không có phép tính nào được thực hiện. Lựa chọn "${
f.getPrice()
}
"gọi được phương thức nhưng vẫn là getter của price, kết quả vẫn là đơn giá chứ không phải tổng phụ. Lựa chọn "${f.subTotal}" khiến EL đi tìm thuộc tính tên subTotal, tức tìm getSubTotal(); lớp Food không có phương thức ấy nên trang báo lỗi không tìm thấy thuộc tính thay vì chạy phép tính.
Cùng phần 7
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây