Hướng dẫn sử dụng ngôn ngữ biểu thức JSP (EL)

Mục lục:

Anonim

Ngôn ngữ Diễn đạt (EL) là gì?

Ngôn ngữ biểu thức (EL) là cơ chế đơn giản hóa khả năng truy cập của dữ liệu được lưu trữ trong thành phần bean Java và các đối tượng khác như yêu cầu, phiên và ứng dụng, v.v. Có nhiều toán tử trong JSP được sử dụng trong EL như toán tử số học và logic để thực hiện một biểu hiện. Nó đã được giới thiệu trong JSP 2.0

Trong hướng dẫn này, bạn sẽ học-

  • Cú pháp JSP của ngôn ngữ biểu thức (EL)
  • JSP If-else
  • Công tắc JSP
  • Vòng lặp cho JSP
  • Vòng lặp JSP While
  • Nhà điều hành JSP

Cú pháp JSP của ngôn ngữ biểu thức (EL)

Cú pháp EL : $ (biểu thức)

  • Trong JSP, bất cứ thứ gì có trong dấu ngoặc nhọn đều được đánh giá trong thời gian chạy được gửi đến luồng đầu ra.
  • Biểu thức là một biểu thức EL hợp lệ và nó có thể được trộn với một văn bản tĩnh và có thể được kết hợp với biểu thức khác để tạo thành biểu thức lớn hơn.

Để hiểu rõ hơn, về cách biểu thức hoạt động trong JSP, chúng ta sẽ xem ví dụ dưới đây.

Trong ví dụ này, chúng ta sẽ thấy cách EL được sử dụng như một toán tử để cộng hai số (1 + 2) và nhận kết quả tương ứng.

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP1  Biểu thức là: $ {1 + 2};

Giải thích mã:

  • Dòng mã 11: Ngôn ngữ biểu thức (EL) được đặt trong đó chúng ta cộng hai số 1 + 2, do đó nó sẽ cho kết quả là 3.

Khi bạn thực thi đoạn mã trên, bạn sẽ có Kết quả sau.

Đầu ra :

  • Biểu thức là: 3 (Vì các số 1 + 2 sẽ được thêm vào và đóng vai trò là đầu ra)

Tuyên bố kiểm soát luồng:

JSP cung cấp sức mạnh của Java để được nhúng vào ứng dụng. Chúng ta có thể sử dụng tất cả các API và khối xây dựng của Java trong lập trình JSP bao gồm các câu lệnh luồng điều khiển bao gồm việc ra quyết định và các câu lệnh vòng lặp.

Có hai loại câu lệnh điều khiển luồng được mô tả dưới đây;

  1. Tuyên bố ra quyết định
  2. Tuyên bố vòng lặp

Tuyên bố ra quyết định:

Tuyên bố ra quyết định trong JSP dựa trên việc đặt điều kiện là đúng hay sai. Câu lệnh sẽ hành xử tương ứng.

Có hai loại tuyên bố ra quyết định được mô tả dưới đây:

  1. Nếu khác
  2. công tắc điện

JSP If-else

Câu lệnh "if else" là câu lệnh cơ bản của tất cả các câu lệnh luồng điều khiển và nó ra lệnh cho chương trình chỉ thực thi đoạn mã nhất định nếu kiểm tra cụ thể đánh giá là true.

Điều kiện này được sử dụng để kiểm tra nhiều hơn một điều kiện cho dù chúng đúng hay sai.

  • Nếu điều kiện đầu tiên là true thì "if block" được thực thi và
  • nếu nó là sai thì "khối khác" được thực thi

Cú pháp cho câu lệnh if - else :

If(test condition){//Block of statements}else{//Block of statements}

Trong ví dụ này,

Chúng tôi sẽ kiểm tra điều kiện "if else" bằng cách lấy biến và kiểm tra giá trị nếu biến khớp với những gì nó được khởi tạo:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP2 <%! int tháng = 5; %><% nếu (tháng == 2) {%> Tháng Hai của nó <%} khác {%> Bất kỳ tháng nào khác ngoài tháng 2 <%}%>

Giải thích mã:

  • Dòng mã 10: Tháng có tên biến được khởi tạo thành 5 trong các thẻ biểu thức
  • Dòng mã 11: Trong thẻ EL có "nếu điều kiện" nói rằng nếu tháng bằng 2 (điều kiện được kiểm tra ở đây là đúng hay sai)
  • Dòng mã 12: Nếu điều kiện đúng là tháng biến là 2 thì nó sẽ in ra luồng đầu ra
  • Dòng mã 13-15: Nếu điều kiện trên nếu không thành công thì nó sẽ chuyển sang phần khác đối với tất cả các trường hợp khác trong đó câu lệnh sẽ in ra luồng đầu ra và điều kiện bị đóng

Khi bạn thực thi đoạn mã trên, bạn sẽ có Kết quả sau.

Đầu ra:

  • Vì tháng chúng ta có là 5, không bằng # 2 (tháng 2). Do đó, chúng tôi có đầu ra "Bất kỳ tháng nào khác ngoài tháng Hai" (tháng được đề cập là 5 do đó các tháng khác được thực thi)

Công tắc JSP

Phần thân của câu lệnh switch được gọi là "khối chuyển mạch".

  • Trường hợp chuyển mạch được sử dụng để kiểm tra số lượng đường dẫn thực thi có thể.
  • Một công tắc có thể được sử dụng với tất cả các loại dữ liệu
  • Các câu lệnh switch chứa nhiều hơn một trường hợp và một trường hợp mặc định
  • Nó đánh giá biểu thức sau đó thực thi tất cả các câu lệnh theo sau trường hợp phù hợp

Cú pháp cho câu lệnh switch :

switch (operator){Case 1:Block of statementsbreak;Case 2:Block of statementsbreak;case n:Block of statementsbreak;default:Block of statementsbreak;}
  • Khối công tắc bắt đầu bằng một tham số, đó là toán tử cần được chuyển và
  • Sau đó, có các trường hợp khác nhau cung cấp điều kiện và trường hợp nào phù hợp với toán tử thì trường hợp đó được thực hiện.

Trong ví dụ dưới đây,

Chúng tôi đã xác định một tuần biến đổi và nó được so khớp với trường hợp nào là đúng. Trong trường hợp này, tuần là thứ 2 do đó trường hợp thứ 2 được so khớp và kết quả là thứ ba:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP3 <%! int tuần = 2; %><% chuyển đổi (tuần) {trường hợp 0:out.println ("Chủ nhật");phá vỡ;trường hợp 1:out.println ("Thứ Hai");phá vỡ;trường hợp 2:out.println ("Thứ Ba");phá vỡ;trường hợp 3:out.println ("thứ tư");phá vỡ;trường hợp 4:out.println ("Thứ Năm");phá vỡ;trường hợp 5:out.println ("Thứ sáu");phá vỡ;mặc định:out.println ("Thứ bảy");}%>

Giải thích mã:

  • Dòng mã 10: Tuần có tên biến được khởi tạo thành 2 trong các thẻ biểu thức
  • Dòng mã 11: Trong thẻ EL, trường hợp chuyển mạch được bắt đầu trong đó tuần được chuyển dưới dạng tham số
  • Dòng mã 12 - 29: Tất cả các trường hợp đã được đề cập bắt đầu từ trường hợp 0 ​​đến trường hợp 5 trong đó giá trị của tham số tuần khớp với các trường hợp và do đó kết quả được in. Trong trường hợp này, giá trị là 2 do đó trường hợp 2 sẽ được thực hiện trong trường hợp này. Ở đây "out" là lớp của JSP ghi luồng đầu ra cho phản hồi được tạo ra và "println" là một phương thức của lớp đó.
  • Dòng mã 30-32: Nếu tất cả các trường hợp trên không thành công thì nó sẽ chuyển sang phần mặc định và sẽ được thực thi, trong đó câu lệnh sẽ in ra dòng đầu ra và điều kiện bị đóng

Khi bạn thực thi đoạn mã trên, bạn sẽ có Kết quả sau.

Đầu ra:

  • Đầu ra trong trường hợp này là thứ ba như trường hợp thứ hai được gọi.

Tuyên bố vòng lặp

Vòng lặp cho JSP

Nó được sử dụng để lặp lại các phần tử cho một điều kiện nhất định và nó có ba tham số.

  • Bộ đếm biến được khởi tạo
  • Điều kiện cho đến khi vòng lặp phải được thực hiện
  • Bộ đếm phải được tăng lên

Cú pháp vòng lặp for:

For(inti=0;i

Trong ví dụ này,

Chúng tôi có vòng lặp for lặp lại cho đến khi bộ đếm nhỏ hơn số đã cho:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP4 <%! int num = 5; %><% out.println ("Các số là:");for (int i = 0; i 

Giải thích cho mã:

  • Dòng mã 10: Biến có tên "num" được khởi tạo thành 5 trong các thẻ biểu thức
  • Dòng mã 11-14: Trong các thẻ EL, "out" là lớp của JSP và "println" là phương thức in ra trong luồng đầu ra và vòng lặp for được bắt đầu có ba tham số:
    • Biến i được khởi tạo thành 0,
    • Điều kiện được đưa ra khi tôi nhỏ hơn num biến cục bộ,
    • Và tôi được tăng lên mỗi khi lặp lại vòng lặp.

Trong phần thân của "forloop", có một lớp JSP in vào luồng đầu ra bằng cách sử dụng phương thức println nơi chúng ta đang in biến i.

Khi bạn thực thi đoạn mã trên, bạn sẽ có Kết quả sau.

Đầu ra:

  • Số đầu ra là 0 1 2 3 4. Trong ví dụ này, chúng tôi đưa ra điều kiện là cho đến khi bộ đếm nhỏ hơn một biến thì "vòng lặp for" phải được thực hiện. Số là 5 nên vòng lặp sẽ bắt đầu từ 0 và chạy cho đến 4 (5 lần). Do đó đầu ra.

Vòng lặp JSP While

Nó được sử dụng để lặp lại các phần tử trong đó nó có một tham số của điều kiện.

Cú pháp:

While(i

Trong ví dụ này,

Chúng ta có một vòng lặp while sẽ lặp lại cho đến ngày lớn hơn bằng bộ đếm:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP5 <%! int day = 2; int i = 1; %><% trong khi (ngày> = i) {nếu (ngày == i) {out.println ("Thứ Hai của nó");phá vỡ;}i ++;}%>

Giải thích mã:

  • Dòng mã 10: Biến có tên i được khởi tạo thành 1 và ngày là 2 trong các thẻ biểu thức
  • Dòng mã 11-17: Trong các thẻ EL, có "vòng lặp while" sẽ lặp lại cho đến khi chúng ta có một điều kiện được đặt như thể ngày lớn hơn hoặc bằng biến i sẽ đúng. (ngày> = i)

    Trong đó có "điều kiện nếu" (ngày bằng i) và "nếu điều kiện" là đúng thì nó sẽ in ra luồng đầu ra và nó sẽ thoát khỏi vòng lặp while khác biến thứ i được tăng lên và lặp lại vòng lặp.

Khi chúng tôi thực thi mã, chúng tôi sẽ có kết quả sau

Đầu ra là:

  • Đầu ra của mã này sẽ là "thứ Hai của nó".

Nhà điều hành JSP

Các toán tử JSP hỗ trợ hầu hết các toán tử số học và logic được java hỗ trợ trong các thẻ ngôn ngữ biểu thức (EL).

Các toán tử thường được sử dụng được đề cập dưới đây:

Sau đây là các toán tử:

. Truy cập thuộc tính bean hoặc mục nhập Bản đồ
[] Truy cập một mảng hoặc phần tử Danh sách
() Nhóm một biểu thức con để thay đổi thứ tự đánh giá
+ Thêm vào
- Phép trừ hoặc phủ định một giá trị
* Phép nhân
/ hoặc div Sư đoàn
% hoặc mod Modulo (phần còn lại)
== hoặc eq Kiểm tra sự bình đẳng
! = hoặc ne Kiểm tra sự bất bình đẳng
Kiểm tra ít hơn
> hoặc gt Kiểm tra lớn hơn
<= hoặc le Kiểm tra nhỏ hơn hoặc bằng
> = hoặc ge Kiểm tra lớn hơn hoặc bằng
&& hoặc và Kiểm tra AND logic
|| hoặc hoặc Kiểm tra lôgic HOẶC
! hay không Phần bổ sung Boolean một bậc
Trống Kiểm tra các giá trị biến trống

Trong ví dụ này,

  • Chúng ta đang khai báo hai biến num1 và num2 và sau đó lấy một biến num3, trong đó chúng ta sử dụng JSP operator + by để thêm num1 và num2 và nhận num3.
  • Sau đó, chúng tôi kiểm tra một điều kiện xem num3 có bằng 0 hay không bằng cách sử dụng các toán tử JSP (! =,>) Và
  • Sau đó lấy biến num4 khác nhân hai num1 và num2 ta được num4.

Tất cả các số này phải được in ra dưới dạng đầu ra của chúng tôi:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Guru JSP6 <% int num1 = 10; int num2 = 50;int num3 = num1 + num2;if (num3! = 0 || num3> 0) {int num4 = num1 * num2;out.println ("Số 4 là" + num4);out.println ("Số 3 là" + num3);}%>

Giải thích mã:

  • Dòng mã 10: Biến có tên num1 được khởi tạo thành 10 và num2 thành 50 trong các thẻ biểu thức
  • Dòng mã 11: Biến num3 là tổng của num1 và num2, nơi chúng ta đang sử dụng toán tử cộng
  • Dòng mã 12-16: Trong thẻ EL, chúng ta đã sử dụng điều kiện OR là toán tử logic và toán tử số học để kiểm tra xem num3 có lớn hơn 0 trong điều kiện if hay không. OR được sử dụng khi bất kỳ một điều kiện nào là đúng trong trường hợp đó, nó sẽ nhập vào "trường hợp nếu" trong đó chúng ta đang nhân hai số "num1" và "num2" và nhận đầu ra trong "num4" và nó sẽ in ra luồng đầu ra.

Khi bạn thực thi đoạn mã trên, bạn sẽ có Kết quả sau.

Đầu ra:

  • Đầu ra đầu tiên là Số 4 là 500 (biến num4 là num1 * num2)
  • Đầu ra thứ hai là Số 3 là 60 (biến num3 mà num1 + num2)

Tóm lược:

  • JSP Expression Language (EL) giúp dễ dàng truy cập ứng dụng để lấy dữ liệu được lưu trữ trong các thành phần javabeans.
  • Nó cũng cho phép tạo các biểu thức cả số học và logic.
  • Trong thẻ EL, chúng ta có thể sử dụng số nguyên. Số dấu phẩy động, chuỗi và giá trị Boolean.
  • Trong JSP, chúng ta cũng có thể sử dụng các vòng lặp và các câu lệnh ra quyết định bằng cách sử dụng thẻ EL