Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
17 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
89.37 kB
Просмотров:
49
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
Содержание слайда: expression
language
№2 слайд
Содержание слайда: Expression Language
JSR 245
Скриптовый язык
доступ к Java компонентам
более наглядный, чем с помощью действий
вычисления выражений
имеет свой синтаксис
Составная часть JSP (c JSP 2.1)
№3 слайд
Содержание слайда: Синтаксис EL
Общий вид: ${EL expression}
Выражение может включать:
операторы EL / литералы
арифиметические выражения
конструкции доступа к полям атрибутов
конструкции доступа к элементам контейнеров
массивы / списки / карты
неявные объекты
вызов функций (стандартные/user-defined)
№4 слайд
Содержание слайда: Литералы
Литералы - это константы.
В выражениях EL могут быть использованы следующие литералы:
Boolean: true / false
Integer: 43 / 0
Double: 443.11E3 / 443.11
String: 'str' / "str"
экранирование в строках: \' \" \\
Нул-тип: null
№5 слайд
Содержание слайда: Доступ к полям бинов
user.getLogin()
${user.login} ~ ${user["login"]} ~ ${user['login']}
Поиск атрибута с именем user:
page request session application
атрибут не найден - вывода нет
атрибут найден
вызов метода getLogin и приведение к String
вывод результата
№6 слайд
Содержание слайда: Доступ к элементам
Массив: ${ar['1']} ~ ${ar["1"]
${ar[index-as-attribute]}
Список: ${list['1']} ~ ${list["1"]
${list[name-of-index-attribute]}
Карта: ${map['key']} ~ ${map["key"]} ~ ${map.key}
${map[name-of-key-as-attribute]}
key – строка.
№7 слайд
Содержание слайда: Операторы [] .
Выражение expr-a.identifier-b
эквивалентно expr-a["identifier-b"]
При вызове функций (см. последний слайд)
expr-a.identifier-b(params)
expra["identifier-b"](params)
№8 слайд
Содержание слайда: Контейнеры атрибутов
Неявные объекты, тип Map<String, Object>
pageScope requestScope
sessionScope applicationScope
Определены для использования внутри выражений.
Поиск атрибута user только в области session: ${sessionScope.user.login}
№9 слайд
Содержание слайда: Неявные объекты
Контейнеры, имеют тип Map<String, Value>
Контейнер элементы контейнера
paramValues <имя парам., массив значений>
header <имя заголовка, значение>
headerValues <имя заг., массив значений>
cookie <имя cookie, объект Cookie>
initParam <имя парам. контекста, значение>
массив значений – массив строк
№10 слайд
Содержание слайда: Логические операции
&& and ===> И по краткой схеме
|| or ===> ИЛИ по краткой схеме
! not ===> ОТРИЦАНИЕ
Оба операнда приводятся к Boolean.
№11 слайд
Содержание слайда: Оператор empty
Проверяет на пустоту объект.
Пример:
${empty x}
Возвращает true если x:
1) null
2) строка нулевой длины
3) массив длиной 0
4) пустые Map или Collection
Во всех других случаях возвращает false
№12 слайд
Содержание слайда: Операции сравнения
== eq ===> равно
!= ne ===> не равно
Для сравнения используется метод equals.
< lt ===> меньше
> gt ===> больше
<= le ===> меньше или равно
>= ge ===> больше или равно
Для сравнения используется метод compareTo.
Если один из операндов или оба равны null, то результат операций false, кроме ==/eq:
null == null ==> true null eq null ==> true
№13 слайд
Содержание слайда: Унарный минус
Меняет знак числа на противоположный.
Пример:
${-4}
Если операнд null, результат 0
Замечание: операция унарный + в EL не определена.
№14 слайд
Содержание слайда: Условный оператор выбора
Вид:
A ? B : C
Значение A ===> Результат
true ===> B
false ===> C
№15 слайд
Содержание слайда: Арифметические операции
+ ===> сложение
- ===> вычитание
* ===> умножение
/ div ===> деление
% mod ===> остаток от деления
Если один из операндов null, вместо него будет подставлен 0.
Пример: ${2+3*4}
№16 слайд
Содержание слайда: Определение функций
Определить публичный статический метод в некотором классе.
В TLD библиотеки определить имя функции и ее сигнатуру по сигнатуре метода.
Связать функцию с классом, который ее реализует.
На JSP странице подключить библиотеку, вызывать функцию.
№17 слайд
Содержание слайда: Пример определения функции
public class A { JAVA CLASS
public static String fullName(User user) {...}
}
<short-name>mylib</short-name> TLD
<uri>uri string</uri>
<function>
<name>funcName</name>
<function-class>com.my.A</function-class>
<function-signature>
java.lang.String fullName(com.my.User)
</function-signature>
</function>
<%@ taglib uri="uri string" prefix="mylib" %> JSP
${mylib:funcName(user)}