2012-07-19 21 views
6

Estoy terminando de aprender el lenguaje Java y buscando escribir aplicaciones web muy pequeñas, ya que Facelets parece ser el reemplazo de JSP, y JSF parece excesivo para pequeñas aplicaciones web, ¿puedo aprender Facelets y usar sin la pila completa de JSF? o debería ir con JSP para estas pequeñas aplicaciones web?Facelets without JSF

+1

¿Le gustaría leer [esto] (http: // stackoverflow. com/questions/2095397/what-is-the-difference-between-jsf-servlet-and-jsp/2097732 # 2097732) y [this] (http://stackoverflow.com/questions/3177733/how-to-avoid -java-code-in-jsp-files/3180202 # 3180202) preguntas? – Lion

+3

Los leo, pero realmente no dicen si los facelets se pueden usar como una tecnología independiente. – Der

Respuesta

0

Facelets está desarrollado para la necesidad de JSF y, como tal, depende de JSF. Si necesita plantillas para JSP, simplemente use < @import>, o una biblioteca más avanzada como Apache Tiles.

5

Es puede se puede utilizar sin JSF. Sólo un mapa de la FacesServlet en un patrón de URL de *.xhtml en web.xml y hacer no declaran

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

en cualquier plantilla Facelet. En realidad, no hace daño declararlos, pero de esta manera no los usará "accidentalmente". También puede escribir HTML sin formato y enviar el formulario a un servlet plano y hacer que el servlet avance/redirija a un Facelet.

Solo debe tener en cuenta que con un servlet se obtiene mucho más código repetitivo para reunir los parámetros de solicitud, convertirlos/validarlos, mantener y actualizar los valores del modelo, invocando las acciones comerciales, mientras todo esto se repite el código repetitivo no es necesario con un bean administrado de JSF.

Además, no se puede utilizar con Facelets basado petición marcos MVC que sólo tienen taglibs JSP disponibles, como Struts, Spring MVC, etc.

+1

Bueno, todavía necesitas todo el jsf jar ¿no? Además, cuando no se utilizan f: y h: ¿qué opciones de plantillas se dejan al desarrollador? ¿No se lo considera una parte de jsf, por ejemplo? –

+0

¿Por qué dices que no declaras xmlns: f y: h solamente? ¿Y qué puede hacer sin usar estas etiquetas en una página de facelets? ¿Solo el está disponible entonces? –

+0

No, me refiero a por qué no dijiste "no declares ui:" también? ¿Por qué dices que no declaras f: y h: solo? –