Struts 2 OGNL s: итератор против JSTL c: forEach производительность - PullRequest
3 голосов
/ 15 сентября 2011

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

Я заметил, что когда мои страницы JSP стали более сложными, моя производительность и время загрузки стали хитами. Первоначально я думал, что это был уровень данных, вызывающий мое узкое место, но сегодня по какой-то причине я заменил пару включаемых страниц, которые создаются на лету, используя списки объектов, которые перебираются по структурам с помощью итерационной схемы на основе JSTL. Я был поражен, что время загрузки моей страницы возросло с 10 до примерно секунды. Время рендеринга страниц JSP значительно увеличивается (с итерацией OGNL struts2) с ростом размеров списка.

В моих конфигурациях распорок у меня отключен режим разработки, и я использую простой набор тем, ничего особенного. Я подумываю переписать некоторые из моих тяжелых итерационных страниц, чтобы использовать JSTL вместо стоек, но я подумал, что мне стоит спросить, не пропустил ли я что-то или столкнулся ли кто-нибудь с подобными обстоятельствами.

1 Ответ

5 голосов
/ 15 сентября 2011

OGNL довольно медленный;более новые версии будут стремиться улучшить производительность.

IMO, где функциональность тегов S2 и JSTL перекрываются, как и в случае S1, я склоняюсь к JSTL.

Не зная больше о вашем реальном уровне представлениякакие меры вы предприняли, чтобы повысить производительность или узнать больше о том, как выглядят ваши шаблоны тем, сложно сказать больше.

...