2012-01-10 37 views
4

我非常喜歡Facelets模板模型。另一方面,有許多應用程序,JSP中的普通舊版JSTL都很好,而且JSF會是一個矯枉過正的應用程序。Facelets作爲JSP中的模板框架

是否有可能在純JSP項目中使用Facelets,即沒有任何類型的JSF依賴項。

PS。我知道有sitemesh,但Facelets仍然非常吸引我。

回答

4

不,這是不可能的。 Facelets不完全是一個模板框架,而是完全獨特的視圖技術,基本上是JSP的後繼者。當單獨使用分別使用時,您可以在單個項目中一起使用它們,但不能在JSP文件中使用Facelets標記。 Facelets不是JSP標籤庫,而是像JSP一樣的全視圖技術。例如,Sitemesh不是視圖技術,而是一個JSP標籤庫,因此可以通過<%@taglib%>在JSP中導入和使用。

如果你想使用Facelets,你必須完全替換JSP文件。如果您只有靜態視圖,Facelets也可以在沒有任何必需的JSF託管的bean的情況下使用。只要你完全寫出你需要的代碼真的所需要的,就沒有任何矯枉過正的手段。所以JSF是一個無用的參數。您只需要將一個javax-faces.jar文件放入/WEB-INF/lib即可。 JSF 2.1將自動註冊到一個servlet 3.0容器上。只要您想使用*.xhtml URL模式(默認模式爲/faces/**.faces和),您只需在web.xml中明確聲明FacesServlet