Consider the code written on a JSP page that has the following content. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ... <c:set

4 phương ánCó giải thích
Đề bài
var="x" value="10" /> <c:set var="y" value="5" /> ${
  x + y
}

What is the incorrect output produced by the JSP page above?

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: "15". Chỉ thị taglib đã nạp thư viện lõi nên hai thẻ đặt biến tạo ra hai biến phạm vi page mang chuỗi mười và năm; khi gặp biểu thức có toán tử cộng, Expression Language không nối chuỗi mà ép cả hai toán hạng về kiểu số rồi mới tính, vì vậy con số mà trang thực sự in ra là 15 và ba giá trị còn lại là những kết quả trang này không bao giờ sinh ra. "10+5" chỉ xuất hiện nếu biểu thức bị viết thành văn bản thuần, chẳng hạn thiếu cú pháp mở biểu thức, khi đó container in nguyên văn chứ không tính. "510" là kết quả của phép ghép chuỗi với thứ tự đảo lại, điều mà toán tử cộng của Expression Language không làm. "105" là kết quả ghép chuỗi theo đúng thứ tự hai biến, cũng chỉ xảy ra nếu dùng toán tử nối chuỗi của Java trong một đoạn mã nhúng thay vì toán tử cộng của Expression Language.

Cùng phần 7

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