Given a bean product with a Map<String, Integer> stockPerStore, how to access the stock of key "store101"?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lờ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 "${

Lời giải
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ả.

Cùng phần 7

Xuất hiện trong 2 bộ đề