2011-01-27 30 views
99

io non riesco a ottenere una risposta chiara per quanto riguarda la differenza concreta tra Java Server Faces vs. cosiddetto facelets. Qualcuno può darmi una risposta chiara del giorno?!?JSF vs Facelets vs JSP

Inoltre, ho capito che JSF o JSP possono essere utilizzati per creare pagine web dinamiche, ma due dettagli apparentemente in conflitto mi stanno confondendo. Ho sentito entrambi i seguenti:

  1. JSF è un sostituto di JSP; e

  2. JSF e JSP forma diverse parti del Vedi in web-tier MVC paradigma di Java

Quindi, quale è? La logica impone quasi certamente non può essere entrambe le cose!

+2

Troverete risposta su: http://www.realdevelopers.com/blog/development/facelets-vs -jsp guarda anche questo: http://www.ibm.com/developerworks/java/library/j-facelets/ –

+3

correlati: [Qual è la differenza tra JSF, Servlet e JSP?] (http://stackoverflow.com)/domande/2095397/what-is-the-differenze-tra-JSF-servlet-e-jsp/2.097.732 # 2.097.732). – BalusC

risposta

121
  • JSF è un framework Java standard per il web UI basata su un modello MVC
  • JSP sono uno standard (molto più vecchio) per la generazione di pagine web da modelli - questi può essere utilizzato come della vista Applicazione JSF, ma anche separatamente da JSF.
  • I facelet sono una tecnologia di visualizzazione alternativa basata su modelli XML puri (senza scriptlet) introdotta con la versione 2 dello standard JSF. Possono essere utilizzati solo in un'applicazione JSF.

Alla luce di questo, diamo un'occhiata alle sue dichiarazioni contrastanti:

Che JSF è un sostituto per JSP; e

Non proprio vero, dal momento che JSF può utilizzare JSP per la sua vista (e doveva, prima di JSF 2). Tuttavia, le app JSF che utilizzano Facelets possono essere viste come una sostituzione delle tecnologie basate su JSP.

JSF e JSP formano diverse parti del View in Java web-tier MVC paradigma

Completamente sbagliato - JSF copre l'intero pattern MVC (anche se può sovrapporsi con gli EJB, dal momento che entrambi si basano su annotazioni che possono essere mescolate nella stessa classe).

+0

Grazie Michael - per "scriptlet" intendi componenti basati su Java come backing bean? – Pam

+2

@Pam: no, "scriptlet" indica snippet di codice java incorporati in un JSP. Questi sono stati disapprovati per molto tempo, con le librerie di etichette e EL come un sostituto più pulito. Lo standard Facelet li elimina completamente. I bean di backing (o EJB che assumono il loro ruolo) fanno ancora parte integrante di un'app JSF basata su Facelets. –

+1

Va notato che è possibile utilizzare Facelets anche in JSF 1.2, se si aggiungono solo le librerie appropriate. –

9

Da Wikipedia article(JSF)

JSF è una richiesta MVC-driven web quadro sulla base guidato componente del modello di progettazione dell'interfaccia utente, utilizzando i file XML chiamato modelli di vista o Facelets viste.

JSF è framework web e facelet è un modello di vista per il JSF

Da Wikipedia article(JSP)

JavaServer Pages (JSP) è una tecnologia Java che aiuta gli sviluppatori di software servono le pagine web generate dinamicamente basato su HTML, XML,

Guarda anche questo argomento Difference between jsf and jsp

+1

Quindi, se ho capito bene: JSF è costituito da tutte le librerie di tag componente, classi di convertitori, classi di validatori, ecc., Mentre il "facelet" è semplicemente il file XHTML che utilizza quei tag componente e si lega ai bean di supporto? – Pam

+0

si. brevemente, sì –

4

Java Server Pages (JSP) è la tecnologia Java che consente agli sviluppatori e ai progettisti Web di sviluppare rapidamente e mantenere facilmente pagine Web dinamiche e ricche di informazioni che sfruttano i sistemi aziendali esistenti. La tecnologia JSP separa l'interfaccia utente dalla generazione del contenuto, consentendo ai progettisti di modificare il layout generale della pagina senza alterare il contenuto dinamico sottostante.

Facelet è la prima lingua non JSP dichiarazione pagina progettata per JSF (Java Server Faces) che ha fornito un modello di programmazione più semplice e più potente per gli sviluppatori JSF come confrontare con JSP. Risolve diversi problemi si verificano in JSP per lo sviluppo di applicazioni web.

Ecco una tabella che mette a confronto le caratteristiche di scriplet e facelets:

enter image description here Source

Problemi correlati