Given a bean product with a Map<String, Integer> stockPerStore, how to access the stock of key "store101"?
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: "${product.stockPerStore["store101"]}". Trong EL, toán tử ngoặc vuông là cách tổng quát để tra một bản đồ: giá trị trong ngoặc được coi là khoá, nên biểu thức này lấy đúng phần tử ứng với khoá đã nêu rồi in ra số lượng tồn. Cách viết "${product.stockPerStore.store101}" cũng tra được bản đồ, nhưng chỉ khi tên khoá là một định danh hợp lệ, nên nó phụ thuộc hình dạng khoá chứ không phải lối truy cập chung cho mọi khoá, ví dụ khoá có dấu cách hoặc mở đầu bằng chữ số. Cách viết "${
product.stockPerStore.get("store101")
}
"gọi thẳng phương thức Java, chỉ chạy trên bản EL có hỗ trợ gọi phương thức, lại đi đường vòng qua chính toán tử tra khoá đã có sẵn. Cách viết "${product.stockPerStore["store101"].value}" thêm một bước đọc thuộc tính trên giá trị trả về, mà giá trị đó là một số nguyên bọc, không có hàm đọc thuộc tính mang tên ấy, nên biểu thức không ra kết quả.