JSF是一个MVC框架,但我很困惑为什么我们需要JSF标签如果我们已经拥有这么多HTML标签。 毫无疑问,JSF简化了很多东西。 我想更多地了解JSF中的模型视图和控制器究竟是什么。
答案 0 :(得分:1)
JSF是一个基于组件的MVC框架,它构建在Servlet API之上,并提供有利于taglib的组件,可以在JSP或任何其他基于Java的视图技术(如Facelets)中使用。 Facelets比JSP更适合JSF。它提供了很好的模板功能,例如复合组件,而JSP基本上只提供模板化,因此您不得不使用原始Java代码创建自定义组件(这在JSF中有点不透明和繁琐的工作)您想要用单个组件替换重复的组件组。如果可以的话,我建议您在使用JSF进行开发时删除JSP并使用Facelets。
作为MVC(模型 - 视图 - 控制器)框架,JSF提供FacesServlet作为唯一的请求 - 响应控制器。它需要您手中的所有标准和繁琐的HTTP请求/响应工作,例如收集用户输入,验证/转换它们,将它们放入模型对象,调用操作和呈现响应。这样,最终基本上是View的JSP或Facelets(XHTML)页面和作为Model的Javabean类。 JSF组件用于将视图与模型绑定(例如ASP.NET Web控件),FacesServlet使用JSF组件树完成所有工作。