How would you use EL to access a property named title from a Map object within a List named bookList at index 2?
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: "${bookList["2"].title}". Toán tử ngoặc vuông là cách truy cập dùng được cho cả danh sách và Map: EL lấy giá trị trong ngoặc làm khoá rồi ép về kiểu chỉ số khi đối tượng đích là List hoặc mảng, nên chuỗi hai được ép thành số hai; phần tử trả về là một Map, vì vậy dấu chấm đứng sau được hiểu là tra khoá title trong Map đó chứ không phải gọi getter. "${bookList[12].title}" sai vì nó trỏ tới phần tử thứ mười ba, lệch hẳn vị trí được hỏi và thường gây lỗi vượt biên. "${
bookList.get(2).title
}
" saivì đó là cách viết lời gọi phương thức kiểu Java, không phải cú pháp truy cập phần tử theo chỉ số mà câu hỏi đang nhắm tới. "${bookList.title[2]}" sai vì nó đi tìm thuộc tính title trên chính danh sách rồi mới lấy chỉ số, tức đảo ngược thứ tự hai chặng truy cập. "${bookList[2].title}" viết chỉ số bằng số nguyên trực tiếp nên chỉ là biến thể trùng nghĩa, không mang điểm kiến thức được kiểm tra là việc ngoặc vuông nhận một khoá rồi tự ép kiểu theo đối tượng đích.