• Login/Register
  • Section: Internet /Monday 26th January 2015

    Alphabetic Index : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    Search β):

    * JavaServer Faces *

    جاواسرور فیسز

    (Wikipedia) - JavaServer Faces
    This article has multiple issues. Please help improve it or discuss these issues on the talk page.
    This article may be too technical for most readers to understand. Please help improve this article to make it understandable to non-experts, without removing the technical details. The talk page may contain suggestions. (March 2013)
    A major contributor to this article appears to have a close connection with its subject. It may require cleanup to comply with Wikipedia''s content policies, particularly neutral point of view. Please discuss further on the talk page. (November 2012)
    This article''s tone or style may not reflect the encyclopedic tone used on Wikipedia. See Wikipedia''s guide to writing better articles for suggestions. (November 2012)
    This article has an unclear citation style. The references used may be made clearer with a different or consistent style of citation, footnoting, or external linking. (March 2011)
    JavaServer Faces Stable release Written in Type Website
    2.2.9 (Mojarra Reference Implementation) / December 19, 2014 (2014-12-19)
    Web application framework

    JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications and exposing them as server side Polyfills. It was formalized as a standard through the Java Community Process and is part of the Java Platform, Enterprise Edition.

    JSF 2 uses Facelets as its default templating system. Other view technologies such as XUL can also be employed. In contrast, JSF 1.x uses JavaServer Pages (JSP) as its default templating system.


    This section requires expansion. (August 2014)

    In 2001 the original Java Specification Request (JSR) for the technology that ultimately became JavaServer Faces proposed developing a package with the name javax.servlet.ui By June 2001 JavaWorld could report on Amy Fowler''s team''s design of "the JavaServer Faces API" (aka "Moonwalk") - "an application framework for creating Web-based user interfaces".

    Versions How it works

    Based on a component-driven UI design-model, JavaServer Faces uses XML files called view templates or Facelets views. The FacesServlet processes requests, loads the appropriate view template, builds a component tree, processes events, and renders the response (typically in the HTML language) to the client. The state of UI components and other objects of scope interest is saved at the end of each request in a process called stateSaving (note: transient true), and restored upon next creation of that view. Either the client or the server side can save objects and states.

    JSF and Ajax

    JSF is often used together with Ajax, a Rich Internet application technology. Ajax is a combination of technologies that make it possible to create rich user interfaces. The user interface components in Mojarra (the JSF reference implementation) and Apache MyFaces were originally developed for HTML only, and Ajax had to be added via JavaScript. This has changed, however:

    Because JSF supports multiple output formats, Ajax-enabled components can easily be added to enrich JSF-based user interfaces. The JSF 2.0 specification provides built in support for Ajax by standardizing the Ajax request lifecycle, and providing simple development interfaces to Ajax events, allowing any event triggered by the client to go through proper validation, conversion, and finally method invocation, before returning the result to the browser via an XML DOM update.

    JSF 2 includes support for graceful degradation when JavaScript is disabled in the browser.

    Ajax-enabled components and frameworks

    The following companies and projects offer Ajax-based JSF frameworks or component libraries:

    The trend in the last years is towards the javascript-based primefaces implementation and away from ICEfaces or Richfaces

    Latest developments

    Facelets (which was designed specifically for JavaServer Faces) was adopted as the official view technology for JSF 2.0. This eliminates the life-cycle conflicts that existed with JSP, forcing workarounds by Java developers. Facelets allows easy component/tag creation using XML markup instead of Java code, the chief complaint against JSF 1.x.

    The new JSF developments also provide wide accessibility to Java 5 annotations such as @ManagedBean, @ManagedProperty and @FacesComponent which removes the need for faces-config.xml in all cases except framework extension. Navigation has been simplified, removing the need for faces-config.xml navigation cases. Page transitions can be invoked simply by passing the name of the desired View/Facelet.

    Addition of Partial State Saving and DOM updates are part of the built in standardized Ajax support.

    The latest JSF release has built-in support for handling resources like images, CSS and Javascript, allowing artifacts to be included with component libraries, separated into JAR files, or simply co-located into a consistent place within the web-application. Includes logical naming and versioning of resources.

    JSF 2.0 also includes a number of other changes like adding support for events, separate development, staging, and production modes, similar to RAILS_ENV in Ruby on Rails, and significantly expanding the standard set of components.


    In their January 2014 "Technology Radar" publication, ThoughtWorks wrote:

    We continue to see teams run into trouble using JSF -- JavaServer Faces -- and are recommending you avoid this technology. Teams seem to choose JSF because it is a J2EE (sic) standard without really evaluating whether the programming model suits them. We think JSF is flawed because it tries to abstract away HTML, CSS and HTTP, exactly the reverse of what modern web frameworks do. JSF, like ASP.NET webforms, attempts to create statefulness on top of the stateless protocol HTTP and ends up causing a whole host of problems involving shared server-side state. We are aware of the improvements in JSF 2.0, but think the model is fundamentally broken. We recommend teams use simple frameworks and embrace and understand web technologies including HTTP, HTML and CSS.

    Tags:ASP.NET, Ajax, Apache, Community, Enterprise Edition, HTML, HTTP, Internet, Java, Java Platform, Java Platform, Enterprise Edition, JavaServer, JavaServer Faces, Navigation, Rich Internet application, Ruby on Rails, Sun, Web application, Web application framework, Website, Wikipedia, XML, XUL

    Failed to connect to MySQL 1: Access denied for user 'foumanu'@'localhost' (using password: YES)