Что такое язык выражений (EL)?
Язык выражений (EL) — это механизм, который упрощает доступ к данным, хранящимся в компоненте Java bean и других объектах, таких как запрос, сеанс, приложение и т. Д. В JSP есть много операторов, которые используются в EL, например, арифметические и логические операторы для выполнения выражение. Это было введено в JSP 2.0
В этом уроке вы узнаете
- Синтаксис языка выражений JSP (EL)
- JSP If-else
- JSP Switch
- JSP для цикла
- Цикл JSP while
- Операторы JSP
Синтаксис языка выражений JSP (EL)
Синтаксис EL : $ (выражение)
- В JSP все, что присутствует в фигурных скобках, оценивается во время выполнения и отправляется в выходной поток.
- Выражение является допустимым выражением EL и может быть смешано со статическим текстом и может быть объединено с другим выражением для формирования большего выражения.
Чтобы лучше понять, как работает выражение в JSP, мы увидим пример ниже.
В этом примере мы увидим, как EL используется как оператор для добавления двух чисел (1 + 2) и получения выходных данных соответственно.
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Guru JSP1</title>
- </head>
- <body>
- <a>Expression is:</a>
- ${1+2};
- </body>
- </html>
Объяснение кода:
- Строка кода 11: язык выражений (EL) устанавливается там, где мы добавляем два числа 1 + 2, следовательно, он будет выводить как 3.
Когда вы выполните приведенный выше код, у вас будет следующий вывод.
Выход :
- Выражение: 3 (Поскольку числа 1 + 2 будут добавлены и служат выходом)
Заявления об управлении потоком:
JSP предоставляет возможности Java для встраивания в приложение. Мы можем использовать все API и строительные блоки Java в программировании JSP, включая операторы потока управления, которые включают в себя принятие решений и операторы цикла.
Существует два типа операторов управления потоком, описанных ниже;
- Принятие решений
- Loop Заявления
Заявления о принятии решений:
Принятие решения в JSP основано на том, является ли набор условий истинным или ложным. Заявление будет вести себя соответственно.
Существует два типа заявлений о принятии решений, описанных ниже:
- Если еще
- переключатель
JSP If-else
Оператор «If else» является базовым для всех операторов потока управления и говорит программе выполнить определенный раздел кода, только если конкретный тест оценивается как true.
Это условие используется для проверки нескольких условий, являются ли они истинными или ложными.
- Если первое условие истинно, тогда выполняется «if block» и
- если оно ложно, то выполняется «блок еще»
Синтаксис для оператора if — else :
If(test condition) { //Block of statements } else { //Block of statements }
В этом примере
Мы собираемся проверить условие «если еще», взяв переменную и проверив значение, если переменная соответствует тому, что она инициализирована:
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Guru JSP2</title>
- </head>
- <body>
- <%! int month=5; %>
- <% if(month==2){ %>
- <a>Its February</a>
- <% }else{ %>
- <a>Any month other than February</a>
- <%} %>
- </body>
- </html>
Пояснение к коду:
- Строка кода 10: переменная с именем month инициализируется 5 в тегах выражений
- Строка кода 11: в тегах EL есть «если условие», в котором говорится, что если месяц равен 2 (условие проверяется здесь как истинное или ложное)
- Строка кода 12: если условие истинно, то есть переменная month равна 2, то она будет напечатана в выходной поток
- Строка кода 13-15: Если вышеприведенное условие if не выполнено, то оно переместится в другую часть для всех остальных случаев, когда оператор будет выводиться в выходной поток и условие будет закрыто.
Когда вы выполните приведенный выше код, у вас будет следующий вывод.
Вывод:
- С того месяца у нас 5, что не равно # 2 (февраль). Следовательно, у нас есть вывод «Любой месяц, кроме февраля» (месяц указан как 5, следовательно, остальные выполняются)
JSP Switch
Тело оператора switch называется «блок переключателя».
- Регистр переключателя используется для проверки количества возможных путей выполнения.
- Переключатель может использоваться со всеми типами данных
- Операторы switch содержат более одного случая и один случай по умолчанию
- Он вычисляет выражение, а затем выполняет все операторы после соответствующего случая
Синтаксис для оператора switch :
switch (operator) { Case 1: Block of statements break; Case 2: Block of statements break; case n: Block of statements break; default: Block of statements break; }
- Блок переключателей начинается с одного параметра, который является оператором, который необходимо передать, и
- Кроме того, существуют разные случаи, которые предоставляют условие и, в зависимости от того, совпадает ли с оператором, выполняется это дело.
В приведенном ниже примере
Мы определили переменную неделю, и она сопоставляется с регистром, в зависимости от того, что истина. В этом случае неделя равна 2, следовательно, сопоставляется 2- й случай, и выводится вторник:
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Guru JSP3</title>
- </head>
- <body>
- <%! int week=2; %>
- <% switch(week){
- case 0:
- out.println("Sunday");
- break;
- case 1:
- out.println("Monday");
- break;
- case 2:
- out.println("Tuesday");
- break;
- case 3:
- out.println("wednesday");
- break;
- case 4:
- out.println("Thursday");
- break;
- case 5:
- out.println("Friday");
- break;
- default:
- out.println("Saturday");
- }
- %>
- </body>
- </html>
Объяснение кода:
- Строка кода 10: переменная с именем недели инициализируется в 2 в тегах выражений
- Строка кода 11: в тегах EL начинается переключение, когда в качестве параметра указывается неделя
- Строка кода 12 — 29: все случаи были упомянуты, начиная со случая 0 до случая 5, где значение параметра недели сопоставляется со случаями, и, соответственно, вывод печатается. В этом случае значение равно 2, следовательно, в этом случае будет выполнен случай 2. Здесь «out» — это класс JSP, который записывает поток вывода для сгенерированного ответа, а «println» — это метод этого класса.
- Строка кода 30-32: если все вышеперечисленные случаи терпят неудачу, то она переместится в часть по умолчанию и будет выполнена, где оператор будет печататься в выходной поток, и условие закрывается
Когда вы выполните приведенный выше код, у вас будет следующий вывод.
Вывод:
- Выход в этом случае — вторник, поскольку 2-ой случай вызван.
Loop Заявления
JSP для цикла
Он используется для итерации элементов для определенного условия и имеет три параметра.
- Счетчик переменных инициализирован
- Условие, пока цикл не должен быть выполнен
- Счетчик должен быть увеличен
Для цикла Синтаксис:
For(inti=0;i<n;i++) { //block of statements }
В этом примере
У нас есть цикл for, который повторяется до тех пор, пока счетчик не станет меньше указанного числа:
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Guru JSP4</title>
- </head>
- <body>
- <%! int num=5; %>
- <% out.println("Numbers are:");
- for(int i=0;i<num;i++){
- out.println(i);
- }%>
- </body>
- </html>
Пояснение к коду:
- Строка кода 10: переменная с именем «num» инициализируется в 5 в тегах выражений
- Строка кода 11-14: В тегах EL «out» — это класс JSP, а «println» — это метод out, который печатает в выходном потоке, и цикл for запускается, который имеет три параметра:
- Переменная i инициализируется в 0,
- Условие задается, где i будет меньше, чем локальная переменная num,
- И я увеличивается каждый цикл цикла.
В теле «forloop» есть класс JSP, который печатает в выходной поток, используя метод println, где мы печатаем переменную i.
Когда вы выполните приведенный выше код, у вас будет следующий вывод.
Вывод:
- Выходные числа равны 0 1 2 3 4. В этом примере мы даем условие, что до тех пор, пока счетчик не станет меньше переменной, должен быть выполнен цикл for. Число равно 5, поэтому цикл начинается с 0 и продолжается до 4 (5 раз). Отсюда выход.
Цикл JSP while
Он используется для итерации элементов, в которых он имеет один параметр условия.
Синтаксис:
While(i<n) { //Block of statements }
В этом примере
У нас есть цикл while, который будет повторяться до тех пор, пока день не станет больше значения счетчика:
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Guru JSP5</title>
- </head>
- <body>
- <%! int day=2; int i=1; %>
- <% while(day>=i){
- if(day==i){
- out.println("Its Monday");
- break;}
- i++;}
- %>
- </body>
- </html>
Пояснение к коду:
- Строка кода 10: переменная с именем i инициализируется 1, а день равен 2 в тегах выражений
- Строка кода 11-17: В тегах EL есть цикл while, который будет повторяться до тех пор, пока не будет установлено условие, как будто день больше или равен переменной i, которая будет истинной. (день> = я)
В этом случае есть «если условие» (день равен i) и «если условие» истинно, то оно выведет выходной поток и выйдет из цикла while, иначе переменная i будет увеличена и цикл будет повторяться.
Когда мы выполним код, у нас будет следующий вывод
Выход:
- Выход этого кода будет «его понедельник».
Операторы JSP
Операторы JSP поддерживают большинство его арифметических и логических операторов, которые поддерживаются Java в тегах языка выражения (EL).
Часто используемые операторы упомянуты ниже:
Ниже приведены операторы:
, | Доступ к свойству боба или записи на карте |
[] | Доступ к массиву или элементу списка |
() | Сгруппируйте подвыражение, чтобы изменить порядок оценки |
+ | прибавление |
— | Вычитание или отрицание значения |
* | умножение |
/ или div | разделение |
% или мод | По модулю (остаток) |
== или экв | Тест на равенство |
! = или ne | Тест на неравенство |
<или lt | Тест на менее чем |
> или GT | Тест на более чем |
<= или le | Тест на меньше или равно |
> = или ge | Тест на больше или равно |
&& или и | Тест на логическое И |
|| или или | Тест на логическое ИЛИ |
! или нет | Унарное булево дополнение |
пустой | Проверка пустых значений переменных |
В этом примере
- Мы объявляем две переменные num1 и num2, а затем берем переменную num3, где мы используем оператор JSP + by, чтобы добавить num1 и num2 и получить num3.
- Затем мы проверяем условие, не равно ли num3 0, используя операторы JSP (! =,>) И
- Затем возьмите другую переменную num4, умножив два num1 и num2, мы получим num4.
Все эти числа должны быть распечатаны как наш вывод:
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Guru JSP6</title>
- </head>
- <body>
- <% int num1=10; int num2 = 50;
- int num3 = num1+num2;
- if(num3 != 0 || num3 > 0){
- int num4= num1*num2;
- out.println("Number 4 is " +num4);
- out.println("Number 3 is " +num3);
- }%>
- </body>
- </html>
Пояснение к коду:
- Строка кода 10: переменная с именем num1 инициализируется в 10 и num2 в 50 в тегах выражений
- Строка кода 11: переменная num3 является суммой num1 и num2, где мы используем оператор сложения
- Строка кода 12-16: В тегах EL мы использовали условие ИЛИ, которое является логическим оператором и арифметическими операторами, чтобы проверить, больше ли num3 в условии if. ИЛИ используется, когда любое условие является истинным, в таком случае оно войдет в «if case», где мы умножаем два числа «num1» и «num2» и получим вывод в «num4», и оно выведет поток вывода.
Когда вы выполните приведенный выше код, у вас будет следующий вывод.
Вывод:
- Первый вывод — число 4 — 500 (переменная num4, которая равна num1 * num2)
- Второй вывод номер 3 равен 60 (переменная num3, которая num1 + num2)
Резюме:
- Язык выражений JSP (EL) облегчает доступ к приложению для данных, хранящихся в компонентах javabeans.
- Это также позволяет создавать выражения как арифметические, так и логические.
- В тегах EL мы можем использовать целые числа. Числа с плавающей запятой, строки и логические значения.
- В JSP мы также можем использовать циклы и операторы принятия решений, используя теги EL