Лицевые стороны без JSF

Я заканчиваю изучение языка Java и хочу писать очень маленькие веб-приложения, так как Facelets, похоже, заменяет JSP, и JSF кажется излишним для небольших веб-приложений, могу ли я просто изучить Facelets и использовать его без весь стек JSF? или я должен просто пойти с JSP для этого небольшого веб-приложения?

Ответ 1

Он может использоваться без JSF. Просто нарисуйте FacesServlet по шаблону URL *.xhtml в web.xml и выполните not declare

xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"

в любом шаблоне Facelet. На самом деле это не вредно объявить их, но таким образом вы не будете "случайно" использовать их. Вы можете как хорошо писать простой HTML в нем и отправить форму на простой сервлет и иметь сервлет вперед/перенаправление на Facelet.

Вам нужно только помнить, что с сервлетом вы получаете гораздо больше кода шаблона для сбора параметров запроса, преобразования/проверки их, поддержания и обновления значений модели, вызывая бизнес-действия, в то время как все эти повторяющиеся шаблоны код не нужен с полноценным управляемым JSF bean.

Кроме того, вы не можете использовать Facelets с фреймворками MVC на основе запроса, которые доступны только для тегов JSP, таких как Struts, Spring MVC и т.д.

Ответ 2

Лицевые стороны разработаны для нужд JSF и так зависят от JSF. Если вам нужно шаблонирование для JSP, просто используйте < @import > или более расширенную библиотеку как Apache Tiles.