2010-01-14 2 views
7

Скажите, что я не использую OGNL для создания своего веб-приложения Struts2 и просто использует обычный el, предоставляемый Sun. Что было бы недостатком?Преимущества использования OGNL по сравнению с обычным EL в Struts2

Насколько я знаю, OGNL - это своего рода выражение, которое пытается сопоставить наилучшее согласованное значение ValueStack на основе его текущего состояния. Может ли это быть достигнуто только с помощью EL?

Заранее спасибо за ответы

Daniel

ответ

9

Ответ: Да, вы можете использовать JSP EL вместо OGNL. Оба языка имеют свои плюсы и минусы, но нет никакого наглядного недостатка в использовании.

Длинный ответ: OGNL используется внутри XWork и Struts2, так что вы не можете фактически удалить саму зависимость, но вы можете, конечно, использовать JSP EL преимущественно (или даже исключительно) на ваш взгляд слоя JSP.

Есть плюсы и минусы использования языка выражения. Одной областью, которую OGNL сияет над JSP EL, является динамическое создание карт и коллекций, например, для поддержки элементов <select/> и т. Д.

Однако в большинстве случаев я считаю, что JSP EL лучше подходит для меня, так как I очень просто использовать простые теги JSP (.tag файлов).

@Amit Sharma: Я должен не согласиться с тем, что использование JSP/JSTL над OGNL и тегами Struts поражает цель использования Struts2. Структура перехватчика, преобразование типов и типы результатов являются одними из самых расширяемых и убедительных причин использования Struts2. Ни одна из этих вещей не связана с какой-либо конкретной технологией просмотра.

2

Я не думаю, что это можно сделать, даже если вы решили не использовать OGNL с помощью веб-приложения Struts2. OGNL используется внутренне struts2 для передачи данных и преобразования типов. Если вы планируете использовать struts2, вам нужно будет использовать OGNL, и если вы этого не сделаете, struts2 сделает это автоматически.

Хотя вы можете отказаться от OGNL И использовать чистый EL, но в этом случае вся цель использования struts2 будет побеждена, если вы не используете встроенные функции struts2, вы, вероятно, пишете эти механизмы с нуля, используя EL.

Хотя это может показаться странным первоначально, но OGNL достаточно силен и стоит учитывать при разработке в struts2.

Смежные вопросы