Câu hỏi: PRJ301 Phát triển ứng dụng Java web – Bộ ôn tập thi lại số 1
50 câu trắc nghiệm kèm lời giải của môn PRJ301 - Phát triển ứng dụng Java web, xếp đúng thứ tự trong đề. Trang 2/3 — câu 21–40.
Danh sách câu hỏi
setContextAttribute()addAttribute()setAttribute()addContextAttribute()class="model.Book" scope="page"> <jsp:setProperty name="e1" property="id" value="1"/> <jsp:setProperty name="e1" property="name" value="han va yeu"/> <jsp:setProperty name="e1" property="price" value="100"/> </jsp:useBean> <jsp:useBean id="e2" class="model.Book" scope="page"> <jsp:setProperty name="e2" property="id" value="2"/> <jsp:setProperty name="e2" property="name" value="ngon ngu cua tinh yeu"/> <jsp:setProperty name="e2" property="price" value="120"/> </jsp:useBean> <c:set var="total" value="${e1.price+e2.price}" /> Result= ${
total
}Đáp án đúng: "${myList[0]}". Cách duy nhất EL định nghĩa để lấy phần tử theo vị trí là toán tử ngoặc vuông kèm chỉ số, nên biểu thức này trả về phần tử đầu của danh sách; EL còn tự ép chuỗi số viết trong ngoặc về số nguyên khi tập là danh sách hay mảng. "${
myList.getFirst()
}
"dựa vào việc gọi một phương thức mang tên đó trên danh sách, trong khi thứ cần ở đây là chỉ số, và danh sách dùng trong JSP không được lấy phần tử đầu theo kiểu gọi phương thức như vậy. "${myList.first}" dùng dấu chấm nên EL hiểu là đọc một thuộc tính tên first theo quy ước bean, tức đi tìm phương thức đọc tương ứng; danh sách không có thuộc tính như thế nên biểu thức báo không tìm thấy thuộc tính. "${myList.getFirst}" còn xa hơn: viết sau dấu chấm nên nó bị hiểu là tên một thuộc tính bắt đầu bằng get, EL sẽ tìm phương thức đọc của chính thuộc tính ấy và cũng không có.
ServletContextAttributeListenerServletRequestListenerHttpSessionListenerServletContextListenervar="item" value="5"/> <c:forEach var="item" begin="1" end="1"> <c:out value="${item}"/> </c:forEach> <p>${user.name}</p>
</c:forEach>
<p>End of list</p>