java - 为什么我们需要 JSF 标签,如果我们有 HTML 标签

标签 java html jsf user-interface

JSF 是一个 MVC 框架,但我很困惑为什么我们已经有了这么多 HTML 标签还需要 JSF 标签。 毫无疑问,JSF 简化了很多事情。 我想进一步了解 JSF 中的模型 View 和 Controller 到底是什么。

最佳答案

JSF 是一个基于组件的 MVC 框架,它建立在 Servlet API 之上,并提供有利于标签库的组件,这些组件可以用于 JSP 或任何其他基于 Java 的 View 技术,例如 Facelets。 Facelets 比 JSP 更适合 JSF。它提供了强大的模板功能,例如复合组件,而 JSP 基本上只提供 for 模板,因此当你想用一个组件替换一组重复的组件。如果可以,我建议您在想使用 JSF 进行开发时放弃 JSP 并使用 Facelets。

作为 MVC(模型- View - Controller )框架,JSF 提供 FacesServlet 作为唯一的请求-响应 Controller 。它从您手中接过所有标准和繁琐的 HTTP 请求/响应工作,例如收集用户输入、验证/转换它们、将它们放入模型对象、调用操作和呈现响应。通过这种方式,您基本上可以得到一个用于 View 的 JSP 或 Facelets (XHTML) 页面和一个用作模型的 Javabean 类。 JSF 组件用于将 View 与模型绑定(bind)(例如您的 ASP.NET Web 控件所做的),而 FacesServlet 使用 JSF 组件树来完成所有工作。

关于java - 为什么我们需要 JSF 标签,如果我们有 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27015795/

相关文章:

css - 如何使用 p :panelGrid 在特定单元格中设置 styleClass

java - 在 Pig 中使用 AvroStorage()

java - ZeroMQ 在 context.term() 调用中阻塞。为什么?如何预防?

java - 如何在Java中根据两列的值对二维数组进行排序

PHP 脚本不验证输入

javascript - 在 JSF 中获取浏览器选项卡关闭事件

java - 决策树执行

html - 每个列表项后带有外部图标的 Bootstrap 链接列表

html - html元素上的title属性有什么用?

javascript - JSF JavaScript API jsf.util.chain 无法按预期工作