CINXE.COM
Jakarta Faces - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Jakarta Faces - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"03357a84-9dd7-4dd3-abbc-86b2b48dd0da","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Jakarta_Faces","wgTitle":"Jakarta Faces","wgCurRevisionId":1259129114,"wgRevisionId":1259129114,"wgArticleId":422564,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Webarchive template wayback links","CS1 German-language sources (de)","All articles with dead external links","Articles with dead external links from September 2024","Articles with permanently dead external links","Articles with short description","Short description is different from Wikidata","Wikipedia articles with style issues from November 2012","All articles with style issues","Articles to be expanded from August 2013","All articles to be expanded", "Commons category link from Wikidata","Jakarta Faces","Java enterprise platform","Java specification requests"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Jakarta_Faces","wgRelevantArticleId":422564,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage", "wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q729427","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=[ "ext.cite.ux-enhancements","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Jakarta Faces - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Jakarta_Faces"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Jakarta_Faces&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Jakarta_Faces"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Jakarta_Faces rootpage-Jakarta_Faces skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Jakarta+Faces" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Jakarta+Faces" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Jakarta+Faces" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Jakarta+Faces" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-History" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>History</span> </div> </a> <button aria-controls="toc-History-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle History subsection</span> </button> <ul id="toc-History-sublist" class="vector-toc-list"> <li id="toc-Developments" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Developments"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Developments</span> </div> </a> <ul id="toc-Developments-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Update_history" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Update_history"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Update history</span> </div> </a> <ul id="toc-Update_history-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-How_it_works" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#How_it_works"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>How it works</span> </div> </a> <button aria-controls="toc-How_it_works-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle How it works subsection</span> </button> <ul id="toc-How_it_works-sublist" class="vector-toc-list"> <li id="toc-JSF_and_AJAX" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#JSF_and_AJAX"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>JSF and AJAX</span> </div> </a> <ul id="toc-JSF_and_AJAX-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-AJAX-enabled_components_and_frameworks" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#AJAX-enabled_components_and_frameworks"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>AJAX-enabled components and frameworks</span> </div> </a> <ul id="toc-AJAX-enabled_components_and_frameworks-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Criticisms" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Criticisms"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Criticisms</span> </div> </a> <button aria-controls="toc-Criticisms-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Criticisms subsection</span> </button> <ul id="toc-Criticisms-sublist" class="vector-toc-list"> <li id="toc-ThoughtWorks,_2014" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#ThoughtWorks,_2014"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>ThoughtWorks, 2014</span> </div> </a> <ul id="toc-ThoughtWorks,_2014-sublist" class="vector-toc-list"> <li id="toc-Rebuttal" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Rebuttal"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1.1</span> <span>Rebuttal</span> </div> </a> <ul id="toc-Rebuttal-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-DZone,_2014" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#DZone,_2014"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>DZone, 2014</span> </div> </a> <ul id="toc-DZone,_2014-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-TheServerSide,_2016" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#TheServerSide,_2016"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.3</span> <span>TheServerSide, 2016</span> </div> </a> <ul id="toc-TheServerSide,_2016-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Jakarta Faces</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 24 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-24" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">24 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Bulgarian" lang="bg" hreflang="bg" data-title="JavaServer Faces" data-language-autonym="Български" data-language-local-name="Bulgarian" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Catalan" lang="ca" hreflang="ca" data-title="JavaServer Faces" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Czech" lang="cs" hreflang="cs" data-title="JavaServer Faces" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Java_Server_Faces" title="Java Server Faces – Danish" lang="da" hreflang="da" data-title="Java Server Faces" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Jakarta_Faces" title="Jakarta Faces – German" lang="de" hreflang="de" data-title="Jakarta Faces" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Spanish" lang="es" hreflang="es" data-title="JavaServer Faces" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%AC%D8%A7%D9%88%D8%A7%D8%B3%D8%B1%D9%88%D8%B1_%D9%81%DB%8C%D8%B3%D8%B2" title="جاواسرور فیسز – Persian" lang="fa" hreflang="fa" data-title="جاواسرور فیسز" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – French" lang="fr" hreflang="fr" data-title="JavaServer Faces" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%9E%90%EC%B9%B4%EB%A5%B4%ED%83%80_%EC%84%9C%EB%B2%84_%ED%8E%98%EC%9D%B4%EC%8A%A4" title="자카르타 서버 페이스 – Korean" lang="ko" hreflang="ko" data-title="자카르타 서버 페이스" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Indonesian" lang="id" hreflang="id" data-title="JavaServer Faces" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Italian" lang="it" hreflang="it" data-title="JavaServer Faces" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Hebrew" lang="he" hreflang="he" data-title="JavaServer Faces" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Kazakh" lang="kk" hreflang="kk" data-title="JavaServer Faces" data-language-autonym="Қазақша" data-language-local-name="Kazakh" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Hungarian" lang="hu" hreflang="hu" data-title="JavaServer Faces" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Japanese" lang="ja" hreflang="ja" data-title="JavaServer Faces" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Polish" lang="pl" hreflang="pl" data-title="JavaServer Faces" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Portuguese" lang="pt" hreflang="pt" data-title="JavaServer Faces" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Romanian" lang="ro" hreflang="ro" data-title="JavaServer Faces" data-language-autonym="Română" data-language-local-name="Romanian" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Russian" lang="ru" hreflang="ru" data-title="JavaServer Faces" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/%E0%AE%9C%E0%AE%BE%E0%AE%B5%E0%AE%BE%E0%AE%9A%E0%AE%B0%E0%AF%8D%E0%AE%B5%E0%AE%B0%E0%AF%8D_%E0%AE%83%E0%AE%AA%E0%AF%87%E0%AE%9A%E0%AE%B8%E0%AF%8D" title="ஜாவாசர்வர் ஃபேசஸ் – Tamil" lang="ta" hreflang="ta" data-title="ஜாவாசர்வர் ஃபேசஸ்" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Turkish" lang="tr" hreflang="tr" data-title="JavaServer Faces" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Ukrainian" lang="uk" hreflang="uk" data-title="JavaServer Faces" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/JSF" title="JSF – Vietnamese" lang="vi" hreflang="vi" data-title="JSF" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/JavaServer_Faces" title="JavaServer Faces – Chinese" lang="zh" hreflang="zh" data-title="JavaServer Faces" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q729427#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Jakarta_Faces" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Jakarta_Faces" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Jakarta_Faces"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Jakarta_Faces&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Jakarta_Faces&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Jakarta_Faces"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Jakarta_Faces&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Jakarta_Faces&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Jakarta_Faces" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Jakarta_Faces" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Jakarta_Faces&oldid=1259129114" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Jakarta_Faces&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Jakarta_Faces&id=1259129114&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJakarta_Faces"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJakarta_Faces"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Jakarta_Faces&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Jakarta_Faces&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Jakarta_Faces" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q729427" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Jakarta EE specification</div> <style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-Tone plainlinks metadata ambox ambox-style ambox-Tone" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/40px-Edit-clear.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/60px-Edit-clear.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/f/f2/Edit-clear.svg/80px-Edit-clear.svg.png 2x" data-file-width="48" data-file-height="48" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article's <b>tone or style may not reflect the <a href="/wiki/Wikipedia:Writing_better_articles#Tone" title="Wikipedia:Writing better articles">encyclopedic tone</a> used on Wikipedia</b>.<span class="hide-when-compact"> See Wikipedia's <a href="/wiki/Wikipedia:Writing_better_articles#Tone" title="Wikipedia:Writing better articles">guide to writing better articles</a> for suggestions.</span> <span class="date-container"><i>(<span class="date">November 2012</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <style data-mw-deduplicate="TemplateStyles:r1257001546">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme) div:not(.notheme){background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table tr{display:table-row!important}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}</style><table class="infobox vevent"><caption class="infobox-title summary">Jakarta Faces</caption><tbody><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Programmer" title="Programmer">Original author(s)</a></th><td class="infobox-data"><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Programmer" title="Programmer">Developer(s)</a></th><td class="infobox-data"><a href="/wiki/Eclipse_Foundation" title="Eclipse Foundation">Eclipse Foundation</a></td></tr><tr style="display: none;"><td colspan="2" class="infobox-full-data"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1257001546"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">4.1.0<sup id="cite_ref-wikidata-96b5f86e069398a7e48c9fccbc4f544b42eec95a-v18_1-0" class="reference"><a href="#cite_note-wikidata-96b5f86e069398a7e48c9fccbc4f544b42eec95a-v18-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> <span class="mw-valign-text-top" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q729427?uselang=en#P348" title="Edit this on Wikidata"><img alt="Edit this on Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span> / 2024-06-05; 5 months ago</div></td></tr><tr style="display:none"><td colspan="2"> </td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Repository_(version_control)" title="Repository (version control)">Repository</a></th><td class="infobox-data"><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style><div class="plainlist"><ul><li><span class="url"><a rel="nofollow" class="external text" href="https://github.com/jakartaee/faces">github<wbr />.com<wbr />/jakartaee<wbr />/faces</a></span> <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q729427#P1324" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></li></ul> </div></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Written in</th><td class="infobox-data"><a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_categories#Categorization_approaches" title="Software categories">Type</a></th><td class="infobox-data"><a href="/wiki/Web_application_framework" class="mw-redirect" title="Web application framework">Web application framework</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://jakarta.ee/specifications/faces/">jakarta<wbr />.ee<wbr />/specifications<wbr />/faces<wbr />/</a></span> <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q729427#P856" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></td></tr></tbody></table> <p><b>Jakarta Faces</b>, formerly <b>Jakarta Server Faces</b> and <b>JavaServer Faces</b> (<b>JSF</b>) is a <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a> specification for building <a href="/wiki/Software_component" title="Software component">component</a>-based <a href="/wiki/User_interface" title="User interface">user interfaces</a> for <a href="/wiki/Web_application" title="Web application">web applications</a>.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> It was formalized as a standard through the <a href="/wiki/Java_Community_Process" title="Java Community Process">Java Community Process</a> as part of the <a href="/wiki/Java_Platform,_Enterprise_Edition" class="mw-redirect" title="Java Platform, Enterprise Edition">Java Platform, Enterprise Edition</a>. It is an <a href="/wiki/Model,_view,_controller" class="mw-redirect" title="Model, view, controller">MVC</a> <a href="/wiki/Web_framework" title="Web framework">web framework</a> that simplifies the construction of <a href="/wiki/User_interface" title="User interface">user interfaces</a> (UI) for server-based applications by using reusable UI components in a page.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> </p><p>JSF 2.x uses <a href="/wiki/Facelets" title="Facelets">Facelets</a> as its default templating system. Users of the software may also use <a href="/wiki/XUL" title="XUL">XUL</a> or <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> JSF 1.x uses <a href="/wiki/JavaServer_Pages" class="mw-redirect" title="JavaServer Pages">JavaServer Pages</a> (JSP) as its default templating system. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="History">History</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=1" title="Edit section: History"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1251242444"><table class="box-Expand_section plainlinks metadata ambox mbox-small-left ambox-content" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><a href="/wiki/File:Wiki_letter_w_cropped.svg" class="mw-file-description"><img alt="[icon]" src="//upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Wiki_letter_w_cropped.svg/20px-Wiki_letter_w_cropped.svg.png" decoding="async" width="20" height="14" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Wiki_letter_w_cropped.svg/30px-Wiki_letter_w_cropped.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Wiki_letter_w_cropped.svg/40px-Wiki_letter_w_cropped.svg.png 2x" data-file-width="44" data-file-height="31" /></a></span></td><td class="mbox-text"><div class="mbox-text-span">This section <b>needs expansion</b>. You can help by <a class="external text" href="https://en.wikipedia.org/w/index.php?title=Jakarta_Faces&action=edit&section=">adding to it</a>. <span class="date-container"><i>(<span class="date">August 2013</span>)</i></span></div></td></tr></tbody></table> <p>In 2001, the original <a href="/wiki/Java_Specification_Request" class="mw-redirect" title="Java Specification Request">Java Specification Request</a> (JSR) for the technology that ultimately became JavaServer Faces proposed developing a package with the name <code>javax.servlet.ui</code><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> </p><p>In June 2001, <i><a href="/wiki/JavaWorld" class="mw-redirect" title="JavaWorld">JavaWorld</a></i> would report on Amy Fowler's team's design of "the JavaServer Faces API" (also known as "Moonwalk") as "an application framework for creating Web-based user interfaces".<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Developments">Developments</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=2" title="Edit section: Developments"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Facelets" title="Facelets">Facelets</a> (which was designed specifically for Java Server 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.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> </p><p>The new JSF developments also provide wide accessibility to <a href="/wiki/Java_annotation" title="Java annotation">Java annotations</a> such as <code>@ManagedBean</code>, <code>@ManagedProperty</code> and <code>@FacesComponent</code> that removes the need for <code>faces-config.xml,</code> in all cases except framework extension. Navigation is also simplified, removing the need for <code>faces-config.xml</code> navigation cases. Page transitions can be invoked simply by passing the name of the desired View or Facelet. </p><p>The addition of Partial State Saving and <a href="/wiki/Document_Object_Model" title="Document Object Model">Document Object Model (DOM)</a> updates are part of the built-in standardized <a href="/wiki/Ajax_(programming)" title="Ajax (programming)">AJAX</a> support. </p><p>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. This includes logical naming and versioning of resources. </p><p>JSF 2.0 also includes a number of other changes like adding support for events, separate development, staging, and production modes, similar to <code>RAILS_ENV</code> in <a href="/wiki/Ruby_on_Rails" title="Ruby on Rails">Ruby on Rails</a>, and significantly expanding the standard set of components. </p> <div class="mw-heading mw-heading3"><h3 id="Update_history">Update history</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=3" title="Edit section: Update history"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>JSF 4.0 (2022-05-15) – Major features: Deleted some deprecated things (native managed beans, native EL references), no extended view by default, added ClientWindowScoped</li> <li>JSF 3.0.0 (2020-10-28) – Package name changed from Javax to Jakarta.</li> <li>JSF 2.3 (2019-09-10) – The first release of the Jakarta Server Pages API for Jakarta EE.Neither the API nor the behavior has changed.</li> <li>JSF 2.3 (2017-03-28) – Major features: search Expressions, extensionless URLs, bean validation for complete classes, push communication using <a href="/wiki/WebSocket" title="WebSocket">WebSocket</a>, enhanced integration with CDI.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup></li> <li>JSF 2.2 (2013-05-21) – Introduced new concepts like stateless views, page flow and the ability to create portable resource contracts.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup></li> <li>JSF 2.1 (2010-11-22) – Maintenance release 2 of JSF 2.0. Only a very minor number of specification changes.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup></li> <li>JSF 2.0 (2009-07-01) – Major release for ease of use, enhanced functionality, and performance. Coincides with <a href="/wiki/Java_Platform,_Enterprise_Edition" class="mw-redirect" title="Java Platform, Enterprise Edition">Java EE</a> 6.</li> <li>JSF 1.2 (2006-05-11) – Many improvements to core systems and APIs. Coincides with <a href="/wiki/Java_Platform,_Enterprise_Edition" class="mw-redirect" title="Java Platform, Enterprise Edition">Java EE</a> 5. Initial adoption into Java EE.</li> <li>JSF 1.1 (2004-05-27) – Bug-fix release. No specification changes.</li> <li>JSF 1.0 (2004-03-11) – Initial specification released.</li></ul> <div class="mw-heading mw-heading2"><h2 id="How_it_works">How it works</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=4" title="Edit section: How it works"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Based on a component-driven <a href="/wiki/User_interface" title="User interface">UI</a> design-model, JavaServer Faces uses XML files called <b>view templates</b> or <a href="/wiki/Facelets" title="Facelets">Facelets</a> views. The <code>FacesServlet</code> 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 <b>stateSaving</b> (note: <i>transient</i> <b>true</b>), and restored upon next creation of that view. Either the client or the server side can save objects and states. </p> <div class="mw-heading mw-heading3"><h3 id="JSF_and_AJAX">JSF and AJAX</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=5" title="Edit section: JSF and AJAX"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><span class="anchor" id="Mojarra"></span> </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1257001546"><table class="infobox vevent"><caption class="infobox-title summary">Mojarra</caption><tbody><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Other names</th><td class="infobox-data">JSF RI</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Programmer" title="Programmer">Original author(s)</a></th><td class="infobox-data"><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Programmer" title="Programmer">Developer(s)</a></th><td class="infobox-data"><a href="/wiki/Eclipse_Foundation" title="Eclipse Foundation">Eclipse Foundation</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Initial release</th><td class="infobox-data">March 3, 2004<span class="noprint">; 20 years ago</span><span style="display:none"> (<span class="bday dtstart published updated">2004-03-03</span>)</span></td></tr><tr style="display: none;"><td colspan="2" class="infobox-full-data"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1257001546"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">4.1.2<sup id="cite_ref-wikidata-81be29735529641e68c3544361447fe5814a6d4b-v18_12-0" class="reference"><a href="#cite_note-wikidata-81be29735529641e68c3544361447fe5814a6d4b-v18-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> <span class="mw-valign-text-top" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q111171534?uselang=en#P348" title="Edit this on Wikidata"><img alt="Edit this on Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span> / 5 November 2024<span class="noprint">; 19 days ago</span><span style="display:none"> (<span class="bday dtstart published updated">5 November 2024</span>)</span></div></td></tr><tr style="display:none"><td colspan="2"> </td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Repository_(version_control)" title="Repository (version control)">Repository</a></th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://github.com/eclipse-ee4j/mojarra">github<wbr />.com<wbr />/eclipse-ee4j<wbr />/mojarra</a></span> <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q111171534#P1324" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Written in</th><td class="infobox-data"><a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Computing_platform" title="Computing platform">Platform</a></th><td class="infobox-data"><a href="/wiki/Jakarta_EE" title="Jakarta EE">Jakarta EE</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_categories#Categorization_approaches" title="Software categories">Type</a></th><td class="infobox-data"><a href="/wiki/Web_framework" title="Web framework">web framework</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="/wiki/Eclipse_Public_License" title="Eclipse Public License">EPL-2.0</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://eclipse-ee4j.github.io/mojarra/">eclipse-ee4j<wbr />.github<wbr />.io<wbr />/mojarra<wbr />/</a></span> <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q111171534#P856" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></td></tr></tbody></table> <p>JSF is often used together with <a href="/wiki/Ajax_(programming)" title="Ajax (programming)">AJAX</a>, a <a href="/wiki/Rich_Internet_application" class="mw-redirect" title="Rich Internet application">Rich Internet application</a> development technique. <a href="/wiki/Ajax_(programming)" title="Ajax (programming)">AJAX</a> is a combination of web development techniques and technologies that make it possible to create rich user interfaces. The user interface components in <a href="/wiki/Project_Mojarra" class="mw-redirect" title="Project Mojarra">Mojarra</a> (the JSF <a href="/wiki/Reference_implementation" title="Reference implementation">reference implementation</a><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>) and <a href="/wiki/Apache_MyFaces" title="Apache MyFaces">Apache MyFaces</a> were originally developed for HTML only, and <a href="/wiki/Ajax_(programming)" title="Ajax (programming)">AJAX</a> had to be added via JavaScript. This has changed, however: </p><p>Because JSF supports multiple output formats, <a href="/wiki/Ajax_(programming)" title="Ajax (programming)">AJAX</a>-enabled components can easily be added to improve <a href="/wiki/User_interface" title="User interface">user interfaces</a> created with JSF. 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. The specification allows an event triggered by the client to go through validation, conversion, and method invocation, before returning the result to the browser via an XML DOM update. </p><p>JSF 2 includes support for <a href="/wiki/Graceful_degradation" class="mw-redirect" title="Graceful degradation">graceful degradation</a> when <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a> is disabled in the browser. </p> <div class="mw-heading mw-heading2"><h2 id="AJAX-enabled_components_and_frameworks">AJAX-enabled components and frameworks</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=6" title="Edit section: AJAX-enabled components and frameworks"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The following companies and projects offer AJAX-based JSF frameworks or component libraries: </p> <ul><li><a href="/wiki/Apache_MyFaces" title="Apache MyFaces">Apache MyFaces</a> – The <a href="/wiki/Apache_Foundation" class="mw-redirect" title="Apache Foundation">Apache Foundation</a> JSF implementation with AJAX components</li> <li><a href="/wiki/Backbase" title="Backbase">Backbase</a> <i>Enterprise AJAX – JSF Edition</i> – <a href="/wiki/Ajax_framework" class="mw-redirect" title="Ajax framework">AJAX framework</a></li> <li>BootsFaces <i>Open source JSF Framework based on Bootstrap</i></li> <li><a href="/wiki/IBM_Notes" class="mw-redirect" title="IBM Notes">IBM Notes</a> – <a href="/wiki/XPages" title="XPages">XPages</a></li> <li><a href="/wiki/ICEfaces" title="ICEfaces">ICEfaces</a> – open-source, Java JSF extension framework and <a href="/wiki/Rich_Internet_application" class="mw-redirect" title="Rich Internet application">rich</a> components, AJAX without JavaScript</li> <li><a href="/wiki/JBoss" class="mw-redirect" title="JBoss">JBoss</a> <i><a href="/wiki/RichFaces" title="RichFaces">RichFaces</a></i> (derived from and replaces <i><a href="/wiki/Ajax4jsf" title="Ajax4jsf">AJAX4jsf</a></i>) – AJAX-enabled JSF components for layout, file upload, forms, inputs and many other features. It reached its end-of-life in June 2016.</li> <li><a href="/wiki/OmniFaces" title="OmniFaces">OmniFaces</a> – open-source JSF utility library</li> <li><a rel="nofollow" class="external text" href="https://github.com/OpenFaces-org/OpenFaces">OpenFaces</a> – AJAX framework with JSF components</li> <li><a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle</a> <i>ADF Faces Rich Client</i> – <a href="/wiki/Oracle_Application_Development_Framework" title="Oracle Application Development Framework">Oracle Application Development Framework</a></li> <li><a href="/wiki/PrimeFaces" title="PrimeFaces">PrimeFaces</a> – AJAX framework with JSF components</li> <li><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun</a> Java BluePrints AJAX components</li> <li><a href="/wiki/ZK_Framework" class="mw-redirect" title="ZK Framework">ZK</a> – AJAX framework with JSF components</li></ul> <div class="mw-heading mw-heading2"><h2 id="Criticisms">Criticisms</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=7" title="Edit section: Criticisms"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="ThoughtWorks,_2014"><span id="ThoughtWorks.2C_2014"></span>ThoughtWorks, 2014</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=8" title="Edit section: ThoughtWorks, 2014"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In their January 2014 <i>Technology Radar</i> publication, <a href="/wiki/ThoughtWorks" class="mw-redirect" title="ThoughtWorks">ThoughtWorks</a> wrote:<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> </p> <style data-mw-deduplicate="TemplateStyles:r1244412712">.mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 32px}.mw-parser-output .templatequotecite{line-height:1.5em;text-align:left;margin-top:0}@media(min-width:500px){.mw-parser-output .templatequotecite{padding-left:1.6em}}</style><blockquote class="templatequote"><p>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 JEE standard without really evaluating whether the programming model suits them. We think JSF is flawed because it tries to abstract away <a href="/wiki/HTML" title="HTML">HTML</a>, <a href="/wiki/CSS" title="CSS">CSS</a> and <a href="/wiki/HTTP" title="HTTP">HTTP</a>, exactly the reverse of what modern <a href="/wiki/Web_framework" title="Web framework">web frameworks</a> do. JSF, like ASP.NET webforms, attempts to create <a href="/wiki/Statefulness" class="mw-redirect" title="Statefulness">statefulness</a> 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.</p></blockquote> <div class="mw-heading mw-heading4"><h4 id="Rebuttal">Rebuttal</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=9" title="Edit section: Rebuttal"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In February 2014, Çağatay Çivici (PrimeFaces Lead) responded to ThoughtWorks criticisms in a post titled <i>JSF is not what you've been told anymore</i>. Çivici argues that improvements in JSF over the years offer many features that embrace modern web development, providing the option to write your own JavaScript, HTML, and CSS. Also regarding state, Çivici wrote:<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> </p> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"><blockquote class="templatequote"><p>JSF is a stateful framework by nature and state makes web applications easy to develop with. With improved state management techniques introduced in JSF 2.0+ (e.g. stateless mode, partial state saving), JSF can scale as well.</p></blockquote> <div class="mw-heading mw-heading3"><h3 id="DZone,_2014"><span id="DZone.2C_2014"></span>DZone, 2014</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=10" title="Edit section: DZone, 2014"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div><p> In the article published November 2014 in the DZone website, titled "Why You Should Avoid JSF", Jens Schauder wrote:<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1244412712"></p><blockquote class="templatequote"><p>Facelets, the preferred presentation technology of JSF looks at first sight like an ordinary templating technology like the good old JSP or Thymeleaf. But if you look closer the horror becomes obvious. In the same place where you structure your HTML, you also place the logic what parts of the UI should get updated on an action. A clear violation of the <a href="/wiki/Separation_of_concerns" title="Separation of concerns">separation of concerns</a> principle in my book. Even better is the immediate attribute which changes the server side life cycle! And if this isn't enough it does it in different ways depending on what tag you use it on. You can't make stuff like this up.</p></blockquote> <div class="mw-heading mw-heading3"><h3 id="TheServerSide,_2016"><span id="TheServerSide.2C_2016"></span>TheServerSide, 2016</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=11" title="Edit section: TheServerSide, 2016"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In February 2016, the enterprise Java community website <i>TheServerSide</i> published an article recommending against the use of JSF, whose use could compromise the quality of the final product. The article ellaborated on five reasons:<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> </p> <ol><li>Simple tasks become difficult;</li> <li>JSF lacks flexibility;</li> <li>The learning curve is steep;</li> <li>Incompatibility with standard Java technologies; and</li> <li>Primitive AJAX support.</li></ol> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=12" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-wikidata-96b5f86e069398a7e48c9fccbc4f544b42eec95a-v18-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-wikidata-96b5f86e069398a7e48c9fccbc4f544b42eec95a-v18_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/jakartaee/faces/releases/tag/4.1.0-RELEASE">"Release 4.1.0"</a>. 5 June 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">5 June</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Release+4.1.0&rft.date=2024-06-05&rft_id=https%3A%2F%2Fgithub.com%2Fjakartaee%2Ffaces%2Freleases%2Ftag%2F4.1.0-RELEASE&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://jakarta.ee/specifications/faces/4.0/">Jakarta Faces 4.0</a></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.mkyong.com/tutorials/jsf-2-0-tutorials/">"JSF 2.0 Tutorial"</a>. mkyong. 2010-12-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-04-28</span></span>. <q>JavaServer Faces (JSF) 2.0, is an MVC web framework which focus on simplifies building user interfaces (comes with 100+ ready UI tags) for Java web application and make reusable UI component easy to implement.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=JSF+2.0+Tutorial&rft.pub=mkyong&rft.date=2010-12-12&rft_id=http%3A%2F%2Fwww.mkyong.com%2Ftutorials%2Fjsf-2-0-tutorials%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://rogerkeays.com/novdl-write-your-jsf-views-in-pure-java">NoVDL: Write your JSF views in pure Java</a></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.jcp.org/en/jsr/detail?id=127">"JSR 127: JavaServer Faces"</a>. <i>Java Community process</i>. Oracle Corporation. 2014<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-08-05</span></span>. <q>2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.) [:] javax.servlet.ui</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Java+Community+process&rft.atitle=JSR+127%3A+JavaServer+Faces&rft.date=2014&rft_id=https%3A%2F%2Fwww.jcp.org%2Fen%2Fjsr%2Fdetail%3Fid%3D127&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFArmstrong2001" class="citation news cs1">Armstrong, Eric (June 6, 2001). <a rel="nofollow" class="external text" href="https://www.infoworld.com/article/2075969/java-web-services--what-s-not-to-like-.html">"Java Web services: What's not to like?"</a>. <i><a href="/wiki/JavaWorld" class="mw-redirect" title="JavaWorld">JavaWorld</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-07-27</span></span>. <q>The JavaServer Faces API (aka Moonwalk) promises to provide an elegant solution for implementing interactive functionality on incompatible browsers. [...] Designed by a team led by Amy Fowler, Sun's AWT and Swing architect, the JavaServer Faces API will provide a collection of GUI tools that will run on common browsers using standard HTML.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=JavaWorld&rft.atitle=Java+Web+services%3A+What%27s+not+to+like%3F&rft.date=2001-06-06&rft.aulast=Armstrong&rft.aufirst=Eric&rft_id=https%3A%2F%2Fwww.infoworld.com%2Farticle%2F2075969%2Fjava-web-services--what-s-not-to-like-.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBergsten" class="citation web cs1">Bergsten, Hans. <a rel="nofollow" class="external text" href="http://onjava.com/pub/a/onjava/2004/06/09/jsf.html">"Improving JSF by dumping JSP"</a>. O'Reilly<span class="reference-accessdate">. Retrieved <span class="nowrap">18 August</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Improving+JSF+by+dumping+JSP&rft.pub=O%27Reilly&rft.aulast=Bergsten&rft.aufirst=Hans&rft_id=http%3A%2F%2Fonjava.com%2Fpub%2Fa%2Fonjava%2F2004%2F06%2F09%2Fjsf.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFTijms" class="citation web cs1">Tijms, Arjan. <a rel="nofollow" class="external text" href="https://arjan-tijms.omnifaces.org/p/jsf-23.html">"What's new in JSF 2.3?"</a>. <i>Musings of a Java EE developer</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2020-07-27</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Musings+of+a+Java+EE+developer&rft.atitle=What%27s+new+in+JSF+2.3%3F&rft.aulast=Tijms&rft.aufirst=Arjan&rft_id=https%3A%2F%2Farjan-tijms.omnifaces.org%2Fp%2Fjsf-23.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://blog.oio.de/2013/04/16/jsf-2-2-jsr-344-is-final/">JSF 2.2 (JSR-344) is final |techscouting through the java news</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200727214224/https://blog.oio.de/2013/04/16/jsf-2-2-jsr-344-is-final/">Archived</a> 2020-07-27 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>. Blog.oio.de. Retrieved on 2020-07-27.</span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://blog.oio.de/2010/11/24/jsr-000314-javaservertm-faces-2-1/">JSR 314 JavaServer Faces 2.1 JSF 2.1 |techscouting through the java news</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200727214253/https://blog.oio.de/2010/11/24/jsr-000314-javaservertm-faces-2-1/">Archived</a> 2020-07-27 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>. Blog.oio.de. Retrieved on 2020-07-27.</span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBosch2010" class="citation web cs1 cs1-prop-foreign-lang-source">Bosch, Andy (2010-11-29). <a rel="nofollow" class="external text" href="http://it-republik.de/jaxenter/news/Was-ist-neu-in-JSF-2.1-057653.html">"Was ist neu in JSF 2.1"</a> (in German). it-republik.de<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-02-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Was+ist+neu+in+JSF+2.1&rft.pub=it-republik.de&rft.date=2010-11-29&rft.aulast=Bosch&rft.aufirst=Andy&rft_id=http%3A%2F%2Fit-republik.de%2Fjaxenter%2Fnews%2FWas-ist-neu-in-JSF-2.1-057653.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> <li id="cite_note-wikidata-81be29735529641e68c3544361447fe5814a6d4b-v18-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-wikidata-81be29735529641e68c3544361447fe5814a6d4b-v18_12-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/eclipse-ee4j/mojarra/releases/tag/4.1.2-RELEASE">"Release 4.1.2"</a>. 5 November 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">23 November</span> 2024</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Release+4.1.2&rft.date=2024-11-05&rft_id=https%3A%2F%2Fgithub.com%2Feclipse-ee4j%2Fmojarra%2Freleases%2Ftag%2F4.1.2-RELEASE&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLubke2007" class="citation web cs1">Lubke, Ryan (5 December 2007). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170407234739/https://blogs.oracle.com/rlubke/entry/project_mojarra_the_jsf_ri">"Project Mojarra - the JSF RI gets a code name"</a>. <i>Ryan Lubke's Blog</i>. <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a>. <a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle Corporation</a>. Archived from <a rel="nofollow" class="external text" href="https://blogs.oracle.com/rlubke/entry/project_mojarra_the_jsf_ri">the original</a> on 2017-04-07.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Ryan+Lubke%27s+Blog&rft.atitle=Project+Mojarra+-+the+JSF+RI+gets+a+code+name&rft.date=2007-12-05&rft.aulast=Lubke&rft.aufirst=Ryan&rft_id=https%3A%2F%2Fblogs.oracle.com%2Frlubke%2Fentry%2Fproject_mojarra_the_jsf_ri&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160407102412/http://thoughtworks.fileburst.com/assets/technology-radar-jan-2014-en.pdf">"Technology Radar"</a> <span class="cs1-format">(PDF)</span>. ThoughtWorks. January 2014. p. 12. Archived from <a rel="nofollow" class="external text" href="http://thoughtworks.fileburst.com/assets/technology-radar-jan-2014-en.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2016-04-07<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-01-30</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Technology+Radar&rft.pages=12&rft.pub=ThoughtWorks&rft.date=2014-01&rft_id=http%3A%2F%2Fthoughtworks.fileburst.com%2Fassets%2Ftechnology-radar-jan-2014-en.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.primefaces.org/jsf-is-not-what-youve-been-told-anymore/">"JSF is not what you've been told anymore"</a>. <i>PrimeFaces</i>. 2014-02-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-11-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=PrimeFaces&rft.atitle=JSF+is+not+what+you%27ve+been+told+anymore&rft.date=2014-02-12&rft_id=https%3A%2F%2Fwww.primefaces.org%2Fjsf-is-not-what-youve-been-told-anymore%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span><sup class="noprint Inline-Template"><span style="white-space: nowrap;">[<i><a href="/wiki/Wikipedia:Link_rot" title="Wikipedia:Link rot"><span title=" Dead link tagged September 2024">permanent dead link</span></a></i><span style="visibility:hidden; color:transparent; padding-left:2px">‍</span>]</span></sup></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFJens_Schauder2014" class="citation web cs1">Jens Schauder (November 2014). <a rel="nofollow" class="external text" href="https://dzone.com/articles/why-you-should-avoid-jsf">"Why You Should Avoid JSF"</a>. DZone.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Why+You+Should+Avoid+JSF&rft.pub=DZone&rft.date=2014-11&rft.au=Jens+Schauder&rft_id=https%3A%2F%2Fdzone.com%2Farticles%2Fwhy-you-should-avoid-jsf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFMcKenzie2016" class="citation web cs1">McKenzie, Cameron (February 16, 2016). <a rel="nofollow" class="external text" href="https://www.theserverside.com/feature/Five-drawbacks-to-choosing-JSF-as-your-web-application-framework">"Five drawbacks to choosing JSF as your web application framework"</a>. <i>TheServerSide</i><span class="reference-accessdate">. Retrieved <span class="nowrap">December 22,</span> 2020</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=TheServerSide&rft.atitle=Five+drawbacks+to+choosing+JSF+as+your+web+application+framework&rft.date=2016-02-16&rft.aulast=McKenzie&rft.aufirst=Cameron&rft_id=https%3A%2F%2Fwww.theserverside.com%2Ffeature%2FFive-drawbacks-to-choosing-JSF-as-your-web-application-framework&rfr_id=info%3Asid%2Fen.wikipedia.org%3AJakarta+Faces" class="Z3988"></span></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Jakarta_Faces&action=edit&section=13" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1235681985">.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}</style><style data-mw-deduplicate="TemplateStyles:r1237033735">@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}</style><div class="side-box side-box-right plainlinks sistersitebox"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1126788409"> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png" decoding="async" width="30" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/45px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/59px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></span></span></div> <div class="side-box-text plainlist">Wikimedia Commons has media related to <span style="font-weight: bold; font-style: italic;"><a href="https://commons.wikimedia.org/wiki/Category:Jakarta_Faces" class="extiw" title="commons:Category:Jakarta Faces">Jakarta Faces</a></span>.</div></div> </div> <ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="https://jakarta.ee/specifications/faces/">Official website</a></span></span> <span class="mw-valign-text-top" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q729427#P856" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Jakarta_EE_specifications" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Jakarta_EE" title="Template:Jakarta EE"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Jakarta_EE" title="Template talk:Jakarta EE"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Jakarta_EE" title="Special:EditPage/Template:Jakarta EE"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Jakarta_EE_specifications" style="font-size:114%;margin:0 4em"><a href="/wiki/Jakarta_EE" title="Jakarta EE">Jakarta EE</a> specifications</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Web_application" title="Web application">Web app</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Jakarta_Servlet" title="Jakarta Servlet">Servlet</a></li> <li><a href="/wiki/Jakarta_Server_Pages" title="Jakarta Server Pages">Pages</a></li> <li><a href="/wiki/Jakarta_Expression_Language" title="Jakarta Expression Language">Expression Language</a></li> <li><a href="/wiki/Jakarta_Standard_Tag_Library" title="Jakarta Standard Tag Library">JSTL</a></li> <li><a class="mw-selflink selflink">Faces</a> <ul><li><a href="/wiki/Facelets" title="Facelets">Facelets</a></li></ul></li> <li><a href="/wiki/WebSocket" title="WebSocket">WebSocket</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Enterprise_software" title="Enterprise software">Enterprise app</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Dependency_injection" title="Dependency injection">Dependency injection</a></li> <li><a href="/wiki/Bean_Validation" title="Bean Validation">Bean Validation</a></li> <li><a href="/wiki/Jakarta_Enterprise_Beans" title="Jakarta Enterprise Beans">Enterprise Beans</a></li> <li><a href="/wiki/Jakarta_Persistence" title="Jakarta Persistence">JPA</a></li> <li><a href="/wiki/Jakarta_Messaging" title="Jakarta Messaging">JMS</a></li> <li><a href="/wiki/Jakarta_Transactions" title="Jakarta Transactions">JTA</a></li> <li><a href="/wiki/Jakarta_Mail" title="Jakarta Mail">Mail</a></li> <li><a href="/wiki/Jakarta_Connectors" title="Jakarta Connectors">JCA</a></li> <li><a href="/wiki/Jakarta_Annotations" title="Jakarta Annotations">Annotations</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Web_service" title="Web service">Web services</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Jakarta_RESTful_Web_Services" title="Jakarta RESTful Web Services">JAX-RS</a></li> <li><a href="/wiki/Jakarta_XML_Web_Services" title="Jakarta XML Web Services">JAX-WS</a> <ul><li><a href="/wiki/Jakarta_SOAP_with_Attachments" title="Jakarta SOAP with Attachments">SOAP with Attachments</a></li> <li><a href="/wiki/Jakarta_Web_Services_Metadata" title="Jakarta Web Services Metadata">Web Services Metadata</a></li></ul></li> <li><a href="/wiki/Java_API_for_XML_Messaging" title="Java API for XML Messaging">JAXM</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Jakarta_XML_Binding" title="Jakarta XML Binding">JAXB</a></li> <li><a href="/wiki/Jakarta_Activation" class="mw-redirect" title="Jakarta Activation">JAF</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Removed</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Jakarta_XML_Registries" title="Jakarta XML Registries">JAXR</a></li> <li><a href="/wiki/Jakarta_XML_RPC" title="Jakarta XML RPC">JAX-RPC</a></li> <li><a href="/wiki/Jakarta_Management" title="Jakarta Management">Management</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Java_API_for_XML_Processing" title="Java API for XML Processing">JAXP</a></li> <li><a href="/wiki/Java_Database_Connectivity" title="Java Database Connectivity">JDBC</a></li> <li><a href="/wiki/Java_Management_Extensions" title="Java Management Extensions">JMX</a></li> <li><a href="/wiki/StAX" title="StAX">Streaming API for XML</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="GlassFish_application_server_stack" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:GlassFish" title="Template:GlassFish"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:GlassFish" title="Template talk:GlassFish"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:GlassFish" title="Special:EditPage/Template:GlassFish"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="GlassFish_application_server_stack" style="font-size:114%;margin:0 4em"><a href="/wiki/GlassFish" title="GlassFish">GlassFish</a> application server stack</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Core</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/GlassFish" title="GlassFish">GlassFish</a></li> <li>Samples</li> <li><a href="/wiki/Eclipse_Grizzly" title="Eclipse Grizzly">Grizzly</a></li> <li><a class="mw-selflink-fragment" href="#JSF_and_AJAX">Mojarra</a></li> <li><a href="/wiki/Eclipse_Metro" title="Eclipse Metro">Metro</a> <ul><li><a href="/wiki/Metro_WSIT" title="Metro WSIT">WSIT</a></li></ul></li> <li><a href="/wiki/Eclipse_Jersey" title="Eclipse Jersey">Jersey</a></li> <li><a href="/wiki/Open_Message_Queue" title="Open Message Queue">OpenMQ</a></li> <li><a href="/wiki/SailFin" title="SailFin">SailFin</a></li> <li><a href="/wiki/GlassFish_Shoal" title="GlassFish Shoal">Shoal</a></li> <li><a href="/wiki/GlassFish_HK2" title="GlassFish HK2">HK2</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Web_application" title="Web application">Web components</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Jakarta_Server_Pages" title="Jakarta Server Pages">JSP</a></li> <li><a href="/wiki/Jakarta_Expression_Language" title="Jakarta Expression Language">Expression Language</a></li> <li><a href="/wiki/Jakarta_Standard_Tag_Library" title="Jakarta Standard Tag Library">JSTL</a></li> <li><a href="/wiki/Faces" class="mw-redirect" title="Faces">Faces</a> <ul><li><a href="/w/index.php?title=JSF_Templates&action=edit&redlink=1" class="new" title="JSF Templates (page does not exist)">Templates</a></li></ul></li> <li>WoodStock</li> <li><a href="/wiki/Project_Phobos" title="Project Phobos">Phobos</a></li> <li><a href="/wiki/WebSocket" title="WebSocket">WebSockets</a></li> <li><a href="/w/index.php?title=LRWP_in_Java&action=edit&redlink=1" class="new" title="LRWP in Java (page does not exist)">LRWP in Java</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Web_service" title="Web service">Web services</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Jakarta_XML_Web_Services" title="Jakarta XML Web Services">JAX-WS</a></li> <li><a href="/wiki/Jakarta_XML_Binding" title="Jakarta XML Binding">JAXB</a></li> <li><a href="/wiki/Java_API_for_XML_Processing" title="Java API for XML Processing">JAXP</a></li> <li><a href="/w/index.php?title=Wiseman_(software)&action=edit&redlink=1" class="new" title="Wiseman (software) (page does not exist)">Wiseman</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Tools</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Hudson_(software)" title="Hudson (software)">Hudson</a></li> <li>Japex</li> <li>OpenInstaller</li> <li>IDE plugins</li> <li>WS Monitor</li> <li>License tools</li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox" aria-labelledby="Web_frameworks" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Web_frameworks" title="Template:Web frameworks"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Web_frameworks" title="Template talk:Web frameworks"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Web_frameworks" title="Special:EditPage/Template:Web frameworks"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Web_frameworks" style="font-size:114%;margin:0 4em"><a href="/wiki/Web_framework" title="Web framework">Web frameworks</a></div></th></tr><tr><td class="navbox-abovebelow hlist" colspan="2"><div> <ul><li><a href="/wiki/Comparison_of_server-side_web_frameworks" title="Comparison of server-side web frameworks">Comparison</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/.NET" title=".NET">.NET</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ASP.NET" title="ASP.NET">ASP.NET</a> <ul><li><a href="/wiki/ASP.NET_Core" title="ASP.NET Core">Core</a></li> <li><a href="/wiki/ASP.NET_AJAX" title="ASP.NET AJAX">AJAX</a></li> <li><a href="/wiki/ASP.NET_Dynamic_Data" title="ASP.NET Dynamic Data">Dynamic Data</a></li> <li><a href="/wiki/ASP.NET_MVC" title="ASP.NET MVC">MVC</a></li> <li><a href="/wiki/ASP.NET_Razor" title="ASP.NET Razor">Razor</a></li> <li><a href="/wiki/ASP.NET_Web_Forms" title="ASP.NET Web Forms">Web Forms</a></li></ul></li> <li><a href="/wiki/Blazor" title="Blazor">Blazor</a></li> <li><a href="/wiki/DotNetNuke" class="mw-redirect" title="DotNetNuke">DNN</a></li> <li><a href="/wiki/Base_One_Foundation_Component_Library" title="Base One Foundation Component Library">BFC</a></li> <li><a href="/wiki/MonoRail_(software)" title="MonoRail (software)">MonoRail</a></li> <li><a href="/wiki/Umbraco" title="Umbraco">Umbraco</a></li> <li><a href="/wiki/WebSharper" title="WebSharper">WebSharper</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/C%2B%2B" title="C++">C++</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/CppCMS" title="CppCMS">CppCMS</a></li> <li><a href="/wiki/Drogon_(software)" title="Drogon (software)">Drogon</a></li> <li><a href="/wiki/Wt_(web_toolkit)" title="Wt (web toolkit)">Wt</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Adobe_ColdFusion" title="Adobe ColdFusion">ColdFusion</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/ColdBox_Platform" title="ColdBox Platform">ColdBox Platform</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Common_Lisp" title="Common Lisp">Common Lisp</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/CL-HTTP" title="CL-HTTP">CL-HTTP</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Haskell" title="Haskell">Haskell</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Servant_(web_framework)" title="Servant (web framework)">Servant</a></li> <li><a href="/wiki/Snap_(web_framework)" title="Snap (web framework)">Snap</a></li> <li><a href="/wiki/Yesod_(web_framework)" title="Yesod (web framework)">Yesod</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Java_(software_platform)" title="Java (software platform)">Java</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/AppFuse" title="AppFuse">AppFuse</a></li> <li><a href="/wiki/Grails_(framework)" title="Grails (framework)">Grails</a></li> <li><a href="/wiki/Google_Web_Toolkit" title="Google Web Toolkit">GWT</a></li> <li><a href="/wiki/ICEfaces" title="ICEfaces">ICEfaces</a></li> <li><a href="/wiki/JHipster" title="JHipster">JHipster</a></li> <li><a href="/wiki/JWt_(Java_web_toolkit)" title="JWt (Java web toolkit)">JWt</a></li> <li><a class="mw-selflink-fragment" href="#JSF_and_Ajax">Mojarra</a></li> <li><a href="/wiki/Play_Framework" title="Play Framework">Play</a></li> <li><a href="/wiki/Remote_Application_Platform" title="Remote Application Platform">Remote Application Platform</a></li> <li><a href="/wiki/JBoss_Seam" title="JBoss Seam">Seam</a></li> <li><a href="/wiki/Apache_Sling" title="Apache Sling">Sling</a></li> <li><a href="/wiki/Spring_Framework#Model-view-controller_framework" title="Spring Framework">Spring</a></li> <li><a href="/wiki/Stripes_(framework)" title="Stripes (framework)">Stripes</a></li> <li><a href="/wiki/Apache_Struts" title="Apache Struts">Struts</a></li> <li><a href="/wiki/Apache_Tapestry" title="Apache Tapestry">Tapestry</a></li> <li><a href="/wiki/Vaadin" title="Vaadin">Vaadin</a></li> <li><a href="/wiki/Vert.x" title="Vert.x">Vert.x</a></li> <li><a href="/wiki/Apache_Wicket" title="Apache Wicket">Wicket</a></li> <li><a href="/wiki/WaveMaker" title="WaveMaker">WaveMaker</a></li> <li><a href="/wiki/ZK_(framework)" title="ZK (framework)">ZK</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/JavaScript" title="JavaScript">JavaScript</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Angular_(web_framework)" title="Angular (web framework)">Angular</a>/<a href="/wiki/AngularJS" title="AngularJS">AngularJS</a></li> <li><a href="/wiki/Backbone.js" title="Backbone.js">Backbone.js</a></li> <li><a href="/wiki/Google_Closure_Tools" title="Google Closure Tools">Closure</a></li> <li><a href="/wiki/Dojo_Toolkit" title="Dojo Toolkit">Dojo Toolkit</a></li> <li><a href="/wiki/Ember.js" title="Ember.js">Ember.js</a></li> <li><a href="/wiki/Express.js" title="Express.js">Express.js</a></li> <li><a href="/wiki/Ext_JS" title="Ext JS">Ext JS</a></li> <li><a href="/wiki/Fastify" title="Fastify">Fastify</a></li> <li><a href="/wiki/Htmx" title="Htmx">htmx</a></li> <li><a href="/wiki/JQuery" title="JQuery">jQuery</a></li> <li><a href="/wiki/Knockout.js" class="mw-redirect" title="Knockout.js">Knockout.js</a></li> <li><a href="/wiki/Meteor_(web_framework)" title="Meteor (web framework)">Meteor</a></li> <li><a href="/wiki/MooTools" title="MooTools">MooTools</a></li> <li><a href="/wiki/NestJS" title="NestJS">NestJS</a></li> <li><a href="/wiki/Next.js" title="Next.js">Next.js</a></li> <li><a href="/wiki/Nuxt.js" title="Nuxt.js">Nuxt.js</a></li> <li><a href="/wiki/Node.js" title="Node.js">Node.js</a></li> <li><a href="/wiki/OpenUI5" title="OpenUI5">OpenUI5</a></li> <li><a href="/wiki/Prototype_JavaScript_Framework" title="Prototype JavaScript Framework">Prototype</a></li> <li><a href="/wiki/React_(software)" title="React (software)">React</a></li> <li><a href="/wiki/Remix_(web_framework)" title="Remix (web framework)">Remix</a></li> <li><a href="/wiki/Sencha_Touch" title="Sencha Touch">Sencha Touch</a></li> <li><a href="/wiki/SproutCore" title="SproutCore">SproutCore</a></li> <li><a href="/wiki/Svelte" title="Svelte">Svelte</a></li> <li><a href="/wiki/Vue.js" title="Vue.js">Vue.js</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Perl" title="Perl">Perl</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Catalyst_(software)" title="Catalyst (software)">Catalyst</a></li> <li><a href="/wiki/Dancer_(software)" title="Dancer (software)">Dancer</a></li> <li><a href="/wiki/Maypole_framework" class="mw-redirect" title="Maypole framework">Maypole</a></li> <li><a href="/wiki/Mojolicious" title="Mojolicious">Mojolicious</a></li> <li><a href="/wiki/WebGUI" title="WebGUI">WebGUI</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/PHP" title="PHP">PHP</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/CakePHP" title="CakePHP">CakePHP</a></li> <li><a href="/wiki/CodeIgniter" title="CodeIgniter">CodeIgniter</a></li> <li><a href="/wiki/Drupal" title="Drupal">Drupal</a></li> <li><a href="/wiki/EZ_Publish" title="EZ Publish">eZ Publish</a></li> <li><a href="/wiki/Fat-Free_Framework" title="Fat-Free Framework">Fat-Free</a></li> <li><a href="/wiki/Neos_Flow" title="Neos Flow">Flow</a></li> <li><a href="/wiki/FuelPHP" title="FuelPHP">FuelPHP</a></li> <li><a href="/wiki/Grav_(CMS)" title="Grav (CMS)">Grav</a></li> <li><a href="/wiki/Gyroscope_(software)" title="Gyroscope (software)">Gyroscope</a></li> <li><a href="/wiki/Horde_(software)" title="Horde (software)">Horde</a></li> <li><a href="/wiki/Joomla" title="Joomla">Joomla!</a></li> <li><a href="/wiki/Laminas" title="Laminas">Laminas</a></li> <li><a href="/wiki/Laravel" title="Laravel">Laravel</a></li> <li><a href="/wiki/Li3_(software)" title="Li3 (software)">li₃</a></li> <li><a href="/wiki/Midgard_(software)" title="Midgard (software)">Midgard</a></li> <li><a href="/wiki/MODX" title="MODX">MODX</a></li> <li><a href="/wiki/Phalcon_(framework)" title="Phalcon (framework)">Phalcon</a></li> <li><a href="/wiki/PHP-Fusion" title="PHP-Fusion">PHP-Fusion</a></li> <li><a href="/wiki/PHP-Nuke" title="PHP-Nuke">PHP-Nuke</a></li> <li><a href="/wiki/Pop_PHP_Framework" title="Pop PHP Framework">Pop PHP</a></li> <li><a href="/wiki/PRADO_(framework)" title="PRADO (framework)">PRADO</a></li> <li><a href="/wiki/ProcessWire" title="ProcessWire">ProcessWire</a></li> <li><a href="/wiki/Qcodo" title="Qcodo">Qcodo</a></li> <li><a href="/wiki/Silverstripe_CMS" title="Silverstripe CMS">Silverstripe</a></li> <li><a href="/wiki/Symfony" title="Symfony">Symfony</a></li> <li><a href="/wiki/TYPO3" title="TYPO3">TYPO3</a></li> <li><a href="/wiki/WordPress" title="WordPress">WordPress</a></li> <li><a href="/wiki/XOOPS" title="XOOPS">XOOPS</a></li> <li><a href="/wiki/Yii" title="Yii">Yii</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Zope#BlueBream" title="Zope">BlueBream</a></li> <li><a href="/wiki/CherryPy" title="CherryPy">CherryPy</a></li> <li><a href="/wiki/CubicWeb" title="CubicWeb">CubicWeb</a></li> <li><a href="/wiki/Django_(web_framework)" title="Django (web framework)">Django</a></li> <li><a href="/wiki/FastAPI" title="FastAPI">FastAPI</a></li> <li><a href="/wiki/Flask_(web_framework)" title="Flask (web framework)">Flask</a></li> <li><a href="/wiki/Grok_(web_framework)" title="Grok (web framework)">Grok</a></li> <li><a href="/wiki/Nevow" class="mw-redirect" title="Nevow">Nevow</a></li> <li><a href="/wiki/Pyjs" title="Pyjs">Pyjs</a></li> <li><a href="/wiki/Pylons_project#Pylons_Framework" title="Pylons project">Pylons</a></li> <li><a href="/wiki/Pylons_project#Pyramid" title="Pylons project">Pyramid</a></li> <li><a href="/wiki/Quixote_(web_framework)" title="Quixote (web framework)">Quixote</a></li> <li><a href="/wiki/TACTIC_(web_framework)" title="TACTIC (web framework)">TACTIC</a></li> <li><a href="/wiki/Tornado_(web_server)" title="Tornado (web server)">Tornado</a></li> <li><a href="/wiki/TurboGears" title="TurboGears">TurboGears</a></li> <li><a href="/wiki/Web2py" title="Web2py">web2py</a></li> <li><a href="/wiki/Zope#Zope_2" title="Zope">Zope 2</a></li> <li><i><a href="/wiki/Category:Python_(programming_language)_web_frameworks" title="Category:Python (programming language) web frameworks">more</a></i>...</li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Merb" title="Merb">Merb</a></li> <li><a href="/wiki/Padrino_(web_framework)" title="Padrino (web framework)">Padrino</a></li> <li><a href="/wiki/Ruby_on_Rails" title="Ruby on Rails">Ruby on Rails</a></li> <li><a href="/wiki/Sinatra_(software)" title="Sinatra (software)">Sinatra</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Rust_(programming_language)" title="Rust (programming language)">Rust</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Rocket_(web_framework)" title="Rocket (web framework)">Rocket</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Scala_(programming_language)" title="Scala (programming language)">Scala</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Lift_(web_framework)" title="Lift (web framework)">Lift</a></li> <li><a href="/wiki/Play_Framework" title="Play Framework">Play</a></li> <li><a href="/wiki/Scalatra" title="Scalatra">Scalatra</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Smalltalk" title="Smalltalk">Smalltalk</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/AIDA/Web" title="AIDA/Web">AIDA/Web</a></li> <li><a href="/wiki/Seaside_(software)" title="Seaside (software)">Seaside</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other languages</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Oracle_Application_Express" title="Oracle Application Express">Application Express</a> (<a href="/wiki/PL/SQL" title="PL/SQL">PL/SQL</a>)</li> <li><a href="/wiki/Grails_(framework)" title="Grails (framework)">Grails</a> (<a href="/wiki/Groovy_(programming_language)" class="mw-redirect" title="Groovy (programming language)">Groovy</a>)</li> <li><a href="/wiki/OpenACS" class="mw-redirect" title="OpenACS">OpenACS</a> (<a href="/wiki/Tcl" title="Tcl">Tcl</a>)</li> <li><a href="/wiki/Phoenix_(web_framework)" title="Phoenix (web framework)">Phoenix</a> (<a href="/wiki/Elixir_(programming_language)" title="Elixir (programming language)">Elixir</a>)</li> <li><a href="/wiki/Shiny_(web_framework)" title="Shiny (web framework)">Shiny (web framework)</a> (<a href="/wiki/R_(programming_language)" title="R (programming language)">R</a>)</li> <li><a href="/wiki/SproutCore" title="SproutCore">SproutCore</a> (<a href="/wiki/JavaScript" title="JavaScript">JavaScript</a>-<a href="/wiki/Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>)</li> <li><a href="/wiki/Yaws_(web_server)" title="Yaws (web server)">Yaws</a> (<a href="/wiki/Erlang_(programming_language)" title="Erlang (programming language)">Erlang</a>)</li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox authority-control" aria-label="Navbox" style="padding:3px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Help:Authority_control" title="Help:Authority control">Authority control databases</a>: National <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q729427#identifiers" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4780730-1">Germany</a></span></li></ul></div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐api‐int.codfw.main‐849f99967d‐54fp5 Cached time: 20241124064215 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.716 seconds Real time usage: 0.894 seconds Preprocessor visited node count: 3683/1000000 Post‐expand include size: 113581/2097152 bytes Template argument size: 11448/2097152 bytes Highest expansion depth: 21/100 Expensive parser function count: 10/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 87968/5000000 bytes Lua time usage: 0.413/10.000 seconds Lua memory usage: 8044270/52428800 bytes Number of Wikibase entities loaded: 2/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 753.897 1 -total 43.96% 331.403 4 Template:Infobox 37.42% 282.086 2 Template:Infobox_software 25.33% 190.982 2 Template:Infobox_software/simple 19.45% 146.629 10 Template:Wikidata 14.34% 108.085 1 Template:Reflist 12.43% 93.738 3 Template:Navbox 11.56% 87.171 1 Template:Jakarta_EE 9.98% 75.220 1 Template:Short_description 8.04% 60.604 2 Template:Ambox --> <!-- Saved in parser cache with key enwiki:pcache:idhash:422564-0!canonical and timestamp 20241124064215 and revision id 1259129114. Rendering was triggered because: api-parse --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Jakarta_Faces&oldid=1259129114">https://en.wikipedia.org/w/index.php?title=Jakarta_Faces&oldid=1259129114</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Jakarta_Faces" title="Category:Jakarta Faces">Jakarta Faces</a></li><li><a href="/wiki/Category:Java_enterprise_platform" title="Category:Java enterprise platform">Java enterprise platform</a></li><li><a href="/wiki/Category:Java_specification_requests" title="Category:Java specification requests">Java specification requests</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback links</a></li><li><a href="/wiki/Category:CS1_German-language_sources_(de)" title="Category:CS1 German-language sources (de)">CS1 German-language sources (de)</a></li><li><a href="/wiki/Category:All_articles_with_dead_external_links" title="Category:All articles with dead external links">All articles with dead external links</a></li><li><a href="/wiki/Category:Articles_with_dead_external_links_from_September_2024" title="Category:Articles with dead external links from September 2024">Articles with dead external links from September 2024</a></li><li><a href="/wiki/Category:Articles_with_permanently_dead_external_links" title="Category:Articles with permanently dead external links">Articles with permanently dead external links</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:Wikipedia_articles_with_style_issues_from_November_2012" title="Category:Wikipedia articles with style issues from November 2012">Wikipedia articles with style issues from November 2012</a></li><li><a href="/wiki/Category:All_articles_with_style_issues" title="Category:All articles with style issues">All articles with style issues</a></li><li><a href="/wiki/Category:Articles_to_be_expanded_from_August_2013" title="Category:Articles to be expanded from August 2013">Articles to be expanded from August 2013</a></li><li><a href="/wiki/Category:All_articles_to_be_expanded" title="Category:All articles to be expanded">All articles to be expanded</a></li><li><a href="/wiki/Category:Commons_category_link_from_Wikidata" title="Category:Commons category link from Wikidata">Commons category link from Wikidata</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 23 November 2024, at 14:50<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Jakarta_Faces&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-pj8zz","wgBackendResponseTime":164,"wgPageParseReport":{"limitreport":{"cputime":"0.716","walltime":"0.894","ppvisitednodes":{"value":3683,"limit":1000000},"postexpandincludesize":{"value":113581,"limit":2097152},"templateargumentsize":{"value":11448,"limit":2097152},"expansiondepth":{"value":21,"limit":100},"expensivefunctioncount":{"value":10,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":87968,"limit":5000000},"entityaccesscount":{"value":2,"limit":400},"timingprofile":["100.00% 753.897 1 -total"," 43.96% 331.403 4 Template:Infobox"," 37.42% 282.086 2 Template:Infobox_software"," 25.33% 190.982 2 Template:Infobox_software/simple"," 19.45% 146.629 10 Template:Wikidata"," 14.34% 108.085 1 Template:Reflist"," 12.43% 93.738 3 Template:Navbox"," 11.56% 87.171 1 Template:Jakarta_EE"," 9.98% 75.220 1 Template:Short_description"," 8.04% 60.604 2 Template:Ambox"]},"scribunto":{"limitreport-timeusage":{"value":"0.413","limit":"10.000"},"limitreport-memusage":{"value":8044270,"limit":52428800}},"cachereport":{"origin":"mw-api-int.codfw.main-849f99967d-54fp5","timestamp":"20241124064215","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Jakarta Faces","url":"https:\/\/en.wikipedia.org\/wiki\/Jakarta_Faces","sameAs":"http:\/\/www.wikidata.org\/entity\/Q729427","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q729427","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2004-01-06T13:21:46Z","dateModified":"2024-11-23T14:50:02Z","headline":"Jakarta EE specification for building component-based user interfaces for web applications"}</script> </body> </html>