7

我正在学习 Java 语言并希望编写非常小的 Web 应用程序,因为 Facelets 似乎是 JSP 的替代品,而 JSF 似乎对于小型 Web 应用程序来说太过分了,我可以只学习 Facelets 并在没有整个 JSF 堆栈的情况下使用它吗? 还是我应该只为这个小型 Web 应用程序使用 JSP?

4

2 回答 2

6

可以在没有 JSF 的情况下使用。只需在 inFacesServlet的 URL 模式映射而不声明*.xhtmlweb.xml

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

在任何 Facelet 模板中。声明它们实际上并没有什么害处,但这样你就不会“意外”使用它们。您也可以在其中编写纯 HTML 并将表单提交到纯 servlet 并将 servlet 转发/重定向到 Facelet。

您只需要记住,使用 servlet 您最终会获得更多样板代码来收集请求参数、转换/验证它们、维护和更新模型值、调用业务操作,而所有这些重复的样板代码都是不必要的具有完全值得的 JSF 托管 bean。

此外,您不能将 Facelets 与基于请求的 MVC 框架一起使用,这些框架只有 JSP 标签库可用,如 Struts、Spring MVC 等。

于 2012-07-20T15:02:15.803 回答
0

Facelets 是为 JSF 的需要而开发的,因此依赖于 JSF。如果您需要 JSP 模板,只需使用 <@import> 或更高级的库作为Apache Tiles

于 2012-07-20T14:58:48.120 回答