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



JSF是一个MVC框架,但是我很困惑为什么我们需要JSF标签,如果我们已经有这么多HTML标签。毫无疑问,JSF已经简化了很多事情。我想更多地了解 JSF 中的模型视图和控制器到底是什么。

JSF是一个基于组件的MVC框架,它建立在Servlet API之上,并提供有利于taglibs的组件,可以在JSP或任何其他基于Java的视图技术(如Facelets)中使用。Facelets比JSP更适合JSF。它即提供了强大的模板化功能,例如复合组件,而JSP基本上只提供模板化,因此当您想用单个组件替换重复的组件组时,您被迫使用原始Java代码创建自定义组件(这在JSF中有点不透明且工作量很大)。如果可以的话,我建议当你想用JSF开发时,放弃JSP而选择Facelet。

作为MVC(模型-视图-控制器)框架,JSF提供了FacesServlet作为唯一的请求-响应控制器。它从您手中接管了所有标准且繁琐的HTTP请求/响应工作,例如收集用户输入,验证/转换它们,将它们放入模型对象中,调用操作和呈现响应。这样,你最终基本上得到了一个用于视图的JSP或Facelets(XHTML)页面和一个Javabean类作为模型。JSF 组件用于将视图与模型绑定(例如 ASP.NET Web 控件),FacesServlet 使用 JSF 组件树来完成所有工作。

最新更新