2012-07-19 38 views
6

我正在學習Java語言並希望編寫非常小的Web應用程序,因爲Facelets似乎是JSP的替代品,JSF似乎對小型Web應用程序過度使用,我可以學習Facelets並使用它它沒有整個JSF堆棧?或者我應該使用JSP來處理這些小型網絡應用程序?Facelets without JSF

+1

你想閱讀[這](HTTP://計算器。 com/questions/2095397/what-is-the-difference-between-jsf-servlet-and-jsp/2097732#2097732)and [this](http://stackoverflow.com/questions/3177733/how-to-avoid -java-code-in-jsp-files/3180202#3180202)問題? – Lion 2012-07-19 21:06:01

+3

我閱讀過這些內容,但他們並不真正說明facelets可以作爲獨立技術使用。 – Der 2012-07-19 21:43:56

回答

0

Facelets是爲了JSF的需要而開發的,因此依賴於JSF。如果您需要JSP模板,請使用< @import>或更高級的庫,如Apache Tiles

5

可以在沒有JSF的情況下使用。剛上的*.xhtmlweb.xml的URL模式映射FacesServlet在任何一個facelet模板聲明

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

。實際上,宣佈它們並沒有什麼壞處,但這樣你就不會「意外」地使用它們。您可以在其中編寫簡單的HTML並將表單提交給普通的servlet,並讓servlet向前/重定向到Facelet。

您只需要記住,使用servlet您最終將獲得更多的樣板代碼,用於收集請求參數,轉換/驗證它們,維護和更新模型值,調用業務操作,同時重複所有這些操作使用完整的JSF託管bean不需要樣板代碼。

此外,您不能使用對只有JSP標籤庫可根據要求MVC框架,如Struts,Spring MVC的,等的Facelets

+1

那你還是需要整個jsf jar吧?另外,當f:和h:未被使用時,開發人員還有哪些模板選項?例如,是不是被認爲是jsf的一部分? – 2014-10-05 15:31:52

+0

你爲什麼說不只聲明xmlns:f和:h?如果不在facelets頁面中使用這些標籤,你可以做什麼?那麼只有el可用? – 2014-10-05 21:18:44

+0

不,我的意思是你爲什麼不說「不要聲明ui:」呢?你爲什麼說不要宣佈f:和h:只有? – 2014-10-06 06:22:45