What output does this JSTL code produce? <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <c:set
4 phương ánCó giải thích
var="item" value="5"/> <c:forEach var="item" begin="1" end="1"> <c:out value="${item}"/> </c:forEach>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: "1". Thẻ set tạo biến item ở phạm vi trang với giá trị 5, nhưng thẻ forEach lại khai biến vòng lặp cũng mang tên item, và trong thân vòng lặp biến vòng lặp che mất biến cũ; vòng lặp đếm từ giá trị begin đến giá trị end là từ 1 đến 1 nên chạy đúng một lượt với item bằng 1, vì vậy thẻ out in ra 1. Lựa chọn "5" chỉ đúng nếu đọc biến item ở ngoài vòng lặp, còn thẻ out ở đây nằm trong thân nên luôn thấy giá trị của biến vòng lặp. Lựa chọn "No output" sai vì begin và end đều bằng 1 nên khoảng lặp không rỗng và thân vẫn chạy một lượt. Lựa chọn "Error" sai vì chỉ thị taglib của thư viện core đã có mặt với tiền tố c, mọi thẻ đều dùng đúng tiền tố đó, và việc trùng tên biến giữa set với forEach không bị coi là lỗi ở pha dịch trang.
Cùng phần 7
Xuất hiện trong 2 bộ đề
Đi tiếp từ đây