В чем разница между неявным объектом JSP и неявным объектом EL expression?

#java #jsp #jstl #el

#java #jsp #jstl #el

Вопрос:

Я начал читать JSP. Я наткнулся на неявный объект JSP, скажем, например, session , application и т.д. И после прочтения EL expression я узнал, что для EL expression также существует неявный объект.

Мой вопрос в том, в чем разница между этими неявными объектами?

Даже если они семантически одинаковы, почему они создают EL и немного усложняют задачу?

Поправьте меня, если я ошибаюсь

Комментарии:

1. извините, что не добавил эти теги;

Ответ №1:

В получаемом объекте нет никакой разницы, это просто разные способы доступа к одним и тем же объектам в каждой из технологий. Например, request в JSP вы получите тот же объект, что и ${pageContext.request} в EL.

В случае EL для удобства доступны дополнительные неявные объекты, такие как param или requestScope . Вы все равно могли бы получить те же данные, но синтаксис был бы неуклюжим.

Возможно, вы захотите сравнить это с неявными объектами в JSP по сравнению с «отсутствием» неявных объектов в сервлетах. Неявные объекты JSP не отличаются от объектов, которые вы можете получить в сервлете, просто неявные объекты обеспечивают более чистый синтаксис. Например, неявный session объект тот же, который вы получили бы через HttpServletRequest#getSession() . Исключением из этого является pageContext , который не имеет эквивалента в сервлетах.

Комментарии:

1. Да, вот в чем я сомневаюсь; даже если оба создают одно и то же, тогда почему они не могут добавить эти методы в сам неявный объект JSP, вместо того, чтобы придерживаться EL?

2. Ну, на мой взгляд, одним из факторов может быть синтаксис — IIRC, в EL нет простого способа вызывать функции. Это затрудняет использование существующих функций, которые не являются средствами получения, плюс может привести к неудобному синтаксису.

3. Кроме того, неявные объекты JSP предназначены для использования в скриптлетах, в то время как эквиваленты EL предназначены для использования в выражениях EL и, следовательно, «оптимизированы» для этого синтаксиса.

4. Первые пара абзацев этого поста могут помочь прояснить, как работает EL и в чем заключаются недостатки.