Jakarta Faces, formerly Jakarta Server Faces and JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications. It was formalized as a standard through the Java Community Process as part of the Java Platform, Enterprise Edition. It is an MVC web framework that simplifies the construction of user interfaces (UI) for server-based applications by using reusable UI components in a page.
JSF 2.x uses Facelets as its default templating system. Users of the software may also use XUL or Java. JSF 1.x uses JavaServer Pages (JSP) as its default templating system.