java - 没有 JSF 的 Facelets

标签 java jsp jsf servlets facelets

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

最佳答案

可以在没有 JSF 的情况下使用。只需将 FacesServlet 映射到 web.xml*.xhtml 的 URL 模式,并声明

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

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

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

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

关于java - 没有 JSF 的 Facelets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11569097/

相关文章:

Facelets 文件的 Eclipse 插件

jsf - 使用 PrettyFaces 获取原始请求 URI

java - Tensorflow Lite Android 对象检测 - 移动 SSD 模型预计恰好有 4 个输出,发现有 8 个

javascript - 使用 javascript 或其他方法检查 bean 是否为 null

javascript - JQuery:拦截点击提交按钮

jsp - 我无法在 apache tomcat 中部署基本的 html 文件

jsf - 如何使数字输入区域最初为空而不是0或0.00?

java - 无法创建与数据库服务器 MySQL 8.0 的连接

java - 如何舍入最高有效位?

java - 加载类时如何告诉引用路径?