Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

мир без Jsp. thymeleaf 2.0

7.341 visualizaciones

Publicado el

  • If you are looking for customer-oriented academic and research paper writing service try ⇒⇒⇒ WRITE-MY-PAPER.net ⇐⇐⇐ liked them A LOTTT Really nice solutions for the last-day papers
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Sex in your area is here: ❤❤❤ http://bit.ly/2u6xbL5 ❤❤❤
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Dating for everyone is here: ♥♥♥ http://bit.ly/2u6xbL5 ♥♥♥
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

мир без Jsp. thymeleaf 2.0

  1. 1. Мир без JSP.Thymeleaf 2.0
  2. 2. Что плохого в JSP?• 2002 год (ajax ещё не назывался ajax`ом)• Скриплеты• Невалидный фрагментированный (X)HTML• «Многобукаф»• ENVIRONMENT!• Static HTML -> JSP -> HTML
  3. 3. Идеальный серверный шаблон• Минимум усилий• Удовольствие от разработки• Совместимость с mainstream технологиями• Скорость разработки• Скорость генерации страницы• Фишечки-плюшки
  4. 4. Встречаем Thymeleaf!
  5. 5. Pros• Низкий порог входа• Здоровый Open Source + Коммьюнити• Подходит для насыщенных HTML-писем• Обрабатывает неполные документы• Мощный Expression Language
  6. 6. Pros• Интеграция Spring,Tiles2, SiteMesh, Jawr, Play 1.2 …• SAX parser + Tailored DOM + Caching• Расширяемость (кастомные теги/аттрибуты/EL)• Готов к продакшн Polish Ministry of Justice Broadleafcommerce Sahibinden
  7. 7. Cons• Непривычный синтаксис• Медленнее, чем FreeMarker и Velocity• Нет taglibs (но есть «диалекты»)• Нет автодополнения в IDE• Не лучшее решение для сложных страниц (1000+ тегов/итераций)
  8. 8. - 25 параллельных потоков- 50000 запросов на страницу- Oracle JVM 1.7.0_01- Apache Tomcat 7.0.23 - 2 Gb RAM- Linux 64 bits- Spring 3.1.0- Apache JMeter 2.6
  9. 9. Киллер фича?Естественные шаблоны!
  10. 10. Естественные шаблоны• Валидны как и результирующий документ• Синтаксис движка не ломает структуры• Шаблон одновременно и прототип• Статические = просматриваются в браузере без вебсервера!
  11. 11. JSP на «вебсервере»
  12. 12. Thymeleaf на «вебсервере»
  13. 13. JSP в браузере
  14. 14. JSP Sucks
  15. 15. Thymeleaf в браузере
  16. 16. Thymeleaf FTW!
  17. 17. Резюмируем• Быстро и удобно• Подходит для вёрстки Email• Идеально для команд, где есть прототипы• Идеально для соло-разработки шаблонов• Не silver bullet• Дружит плотно со Spring
  18. 18. Практика
  19. 19. Инклуды• th:include• th:remove• th:replaceby• th:fragment• Вычисление выражений и переменных после вставки фрагмента
  20. 20. th:include=”fragment_file ::fragment_name|[DOM_selector]
  21. 21. DOMSelector Ограниченный Xpath• /x - прямой потомок с именем x.• //x - любой потомок с именем х.• x[@z="v"] - тэг х с аттрибутом z, равным v.• x[@z1="v1" and @z2="v2"]• x[i] - i-ый тэг x.• x[@z="v"][i]
  22. 22. Статические инклуды Thymol.jsОграниченная поддержка инклудов и условных выражений
  23. 23. Стандартный диалект org.thymeleaf.messageresolver.IMessageResolver
  24. 24. Thymeleaf + Spring
  25. 25. Thymeleaf + Spring• beans, fields объекты в SpEl• Интеграция с WebFlow• Интеграция с Spring Security• Form binding (th:object)
  26. 26. Расширяемость• Dialects = JSP Taglibs + i18n org.thymeleaf.dialect.IDialect• Processors = tags/attributes org.thymeleaf.processor.Iprocessor org.thymeleaf.processor.AbstractProcessor org.thymeleaf.processor.attr.AbstractAttrProcessor org.thymeleaf.processor.element.AbstractElementProcessor
  27. 27. Pitfalls• Используйте апперкейс DOCTYPE• Эксепшн с упоминанием Lenient? => Неправильный атрибут/неймспейс• Эксепшн без номера строки? => Проблема с конфигурацией
  28. 28. ВсёMind Map Яbit.ly/jtt_thyme_mmap mailto://alexey.migutsky@gmail.com skype://aliaksei_mihutski skype://mr_mig.by @mr_mig_by

×