As a jsf fans and a java programmer since 1999, I think jsf implements provided by apche is disordered and poor maintained!!! lack of plan, stability, continuity and stability!!!
I use myfaces 1.1.1 from 2006(in a product), but I am looking for another jsf implement now, the feeling is not so good. Pardon me for my poor english. > Date: Tue, 1 Dec 2009 09:46:51 +0800 > Subject: Re: [ANNOUNCE] MyFaces Core v2.0.0-alpha Release > From: dait...@gmail.com > To: users@myfaces.apache.org > > Hi, > > Just want to know if MyFaces Core 2.0.0 has passed the TCK? If not , is > there any plan for it? > > Thanks! > > 2009/12/1 Leonardo Uribe <lu4...@apache.org> > > > The Apache MyFaces team is pleased to announce the release of MyFaces Core > > 2.0.0-alpha. > > > > MyFaces Core is a JavaServer(tm) Faces 2.0 implementation as specified by > > JSR-314. > > > > MyFaces Core 2.0.0-alpha is available in both binary and source > > distributions. > > > > * http://myfaces.apache.org/download.html > > > > MyFaces Core is also available in the central Maven repository under Group > > ID "org.apache.myfaces.core". > > > > Release Notes - MyFaces Core - Version 2.0.0-alpha > > > > Sub-task > > > > * [MYFACES-2174] - MyFaces 2.0 AJAX API extension proposal > > * [MYFACES-2191] - Move the myfaces params into the context > > * [MYFACES-2195] - rename xhrcore_xxx to xhrcore._xxx > > * [MYFACES-2200] - Send events and errors at the various xhr stages > > * [MYFACES-2223] - switch viewstate replacement from id to name > > * [MYFACES-2238] - offer extension point for AJAX Javascript > > * [MYFACES-2240] - typo in javascript build script and target folder > > doesn't fit the spec > > * [MYFACES-2257] - trigger external scripts after AJAX reload > > * [MYFACES-2311] - Implement <composite:actionSource> tag handler > > * [MYFACES-2312] - Implement <composite:attribute> tag handler > > * [MYFACES-2313] - Implement <composite:editableValueHolder> tag handler > > * [MYFACES-2314] - Implement <composite:extension> tag handler > > * [MYFACES-2315] - Implement <composite:facet> tag handler > > * [MYFACES-2316] - Implement <composite:implementation> tag handler > > * [MYFACES-2317] - Implement <composite:insertChildren> tag handler > > * [MYFACES-2318] - Implement <composite:insertFacet> tag handler > > * [MYFACES-2319] - Implement <composite:interface> tag handler > > * [MYFACES-2320] - Implement <composite:renderFacet> tag handler > > * [MYFACES-2324] - Add ViewDeclarationLanguage.retargetAttachedObjects > > and ViewDeclarationLanguage.retargetMethodExpressions > > * [MYFACES-2325] - Add Composite Renderer class > > * [MYFACES-2331] - Implement Composite Component Attributes ELResolver > > (jsf 2.0 spec section 5.6.2.2) and add implicit object "cc" and "component" > > * [MYFACES-2362] - Move default validator registration from > > UIInput.validateValue to ComponentTagHandlerDelegate > > > > Bug > > > > * [MYFACES-2083] - FacesContext contains several unnecessary methods > > * [MYFACES-2131] - Import to internal Sun class > > * [MYFACES-2146] - Bug in UIViewRoot causes Exception in > > popComponentFromEL() > > * [MYFACES-2147] - NoSuchMethodException when instantiating SystemEvent > > objects > > * [MYFACES-2287] - getting the myfaces 1.2 simple example app running on > > 2.0 impl > > * [MYFACES-2296] - Annotation scanning bugs > > * [MYFACES-2357] - currency validation does not fall through to the > > default JVM local when a default locale is not specified in faces-config > > * [MYFACES-2358] - System event system not working > > * [MYFACES-2359] - ComponentSystemEvents are not globally dispatched > > * [MYFACES-2360] - Facelets JSTL escapeXML function not escaping '>' > > * [MYFACES-2381] - Broken link: "Core JSF-2.0" > > * [MYFACES-2384] - @FacesBehavior not handled correctly > > * [MYFACES-2386] - Refactor Bean Validation "constants" to > > package-private class > > * [MYFACES-2387] - component state not being restored when > > ValueChangeListener is attached > > * [MYFACES-2390] - h:graphic image doesn't handle library attribue > > * [MYFACES-2391] - classpath resources not checking for valid version > > pattern > > * [MYFACES-2393] - graphicImage tag does not handle resource EL > > expressions properly > > * [MYFACES-2394] - ResourceDependency annotations not being handled > > properly if target attribute is set > > * [MYFACES-2397] - f:ajax attributes execute and render should take space > > delimited clientIds > > * [MYFACES-2398] - no spaces in html-output of f:ajax with render and > > execute attributes with more than one target > > * [MYFACES-2402] - Fix conditional navigation > > * [MYFACES-2404] - JspViewDeclarationLanguageStrategy is always the > > default strategy, so it should always return true on handles() method > > * [MYFACES-2405] - f:ajax renderer not handling multiple IDs properly > > * [MYFACES-2406] - Create a view with viewId is null should be possible > > * [MYFACES-2408] - UIComponent.subscribeToEvent and unsubscribeToEvent > > should throw NullPointerException when eventClass or componentListener is > > null > > * [MYFACES-2415] - EnumConverter should only conver to String valid enum > > values > > * [MYFACES-2416] - h:outputLabel does not handle escape property > > > > Improvement > > > > * [MYFACES-1910] - Add resetValue() to EditableValueHolder interface > > (this is a JSF 2.0 related issue) > > * [MYFACES-2010] - Implement JSF 2.0 - Comment in the class > > * [MYFACES-2036] - Comment on javax.faces.application.FacesMessage Class > > * [MYFACES-2235] - ProjectStage extension > > * [MYFACES-2354] - update javax.faces.component classes which utilize the > > context classloader to handle java2 security > > * [MYFACES-2389] - clean up the UIComponentBase.setParent() > > > > New Feature > > > > * [MYFACES-2133] - The implementation of ResourceHandler must be > > thread-safe > > * [MYFACES-2140] - Add annotation processing logic > > * [MYFACES-2162] - Default RenderKitId should be HTML_BASIC when using > > annotations > > * [MYFACES-2173] - JSF 2.0 AJAX library > > * [MYFACES-2372] - h:commandButton should render UIParameter children > > > > Task > > > > * [MYFACES-1911] - Implement JSF 2.0 logic at TODO #1 > > * [MYFACES-1912] - Implement JSF 2.0 logic at TODO #2 > > * [MYFACES-1913] - Implement JSF 2.0 logic at TODO #3 > > * [MYFACES-1914] - Implement JSF 2.0 logic at TODO #4 > > * [MYFACES-1915] - Implement JSF 2.0 logic at TODO #5 > > * [MYFACES-1916] - Implement JSF 2.0 logic at TODO #6 > > * [MYFACES-1917] - Implement JSF 2.0 logic at TODO #7 > > * [MYFACES-1918] - Implement JSF 2.0 logic at TODO #8 > > * [MYFACES-1919] - Implement JSF 2.0 logic at TODO #9 > > * [MYFACES-1920] - Implement JSF 2.0 logic at TODO #10 > > * [MYFACES-1921] - Implement JSF 2.0 logic at TODO #16 > > * [MYFACES-1922] - Implement JSF 2.0 logic at TODO #17 > > * [MYFACES-1923] - Implement JSF 2.0 logic at TODO #11 > > * [MYFACES-1924] - Implement JSF 2.0 logic at TODO #18 > > * [MYFACES-1925] - Implement JSF 2.0 logic at TODO #19 > > * [MYFACES-1926] - Implement JSF 2.0 logic at TODO #20 > > * [MYFACES-1927] - Implement JSF 2.0 logic at TODO #21 > > * [MYFACES-1928] - Implement JSF 2.0 logic at TODO #22 > > * [MYFACES-1929] - Implement JSF 2.0 logic at TODO #23 > > * [MYFACES-1930] - Implement JSF 2.0 logic at TODO #22 > > * [MYFACES-1931] - Implement JSF 2.0 logic at TODO #35 > > * [MYFACES-1932] - Implement JSF 2.0 logic at TODO #24 > > * [MYFACES-1933] - Implement JSF 2.0 logic at TODO #24 > > * [MYFACES-1934] - Implement JSF 2.0 logic at TODO #25 > > * [MYFACES-1935] - Implement JSF 2.0 logic at TODO #34 > > * [MYFACES-1936] - Implement JSF 2.0 logic at TODO #26 > > * [MYFACES-1938] - Implement JSF 2.0 logic at TODO #28 > > * [MYFACES-1939] - Implement JSF 2.0 logic at TODO #33 > > * [MYFACES-1940] - Implement JSF 2.0 logic at TODO #29 > > * [MYFACES-1941] - Implement JSF 2.0 logic at TODO #30 > > * [MYFACES-1942] - Implement JSF 2.0 logic at TODO #32 > > * [MYFACES-1943] - Implement JSF 2.0 logic at TODO #12 > > * [MYFACES-1944] - Implement JSF 2.0 logic at TODO #13 > > * [MYFACES-1945] - Implement JSF 2.0 logic at TODO #14 > > * [MYFACES-1946] - Implement JSF 2.0 logic at TODO #31 > > * [MYFACES-1947] - Implement JSF 2.0 logic at TODO #15 > > * [MYFACES-1948] - Implement JSF 2.0 logic at TODO #27 > > * [MYFACES-1950] - Implement JSF 2.0 - ExternalContext is missing some > > methods > > * [MYFACES-1951] - Update UIInput.validate() > > * [MYFACES-1958] - Implement AfterAddToParentEvent > > * [MYFACES-1959] - Add missing javax.faces.event Classes & Interfaces > > * [MYFACES-1968] - Implement JSF 2.0 logic at TODO #35 > > * [MYFACES-1969] - Implement JSF 2.0 logic at TODO #36 > > * [MYFACES-1970] - Implement JSF 2.0 logic at TODO #37 > > * [MYFACES-1971] - Implement JSF 2.0 logic at TODO #38 > > * [MYFACES-1972] - Implement JSF 2.0 logic at TODO #39 > > * [MYFACES-1973] - Implement JSF 2.0 logic at TODO #40 > > * [MYFACES-1974] - Apply Java 5 specific features to the code, mainly > > generics and enhanced for > > * [MYFACES-1977] - add to FacesServlet.service call to ResourceHandler > > and update digester code > > * [MYFACES-1978] - Remove org.apache.myfaces.portlet from JSF 2.0 branch, > > because it has no use anymore > > * [MYFACES-1980] - Implement JSF 2.0 logic at TODO #41 > > * [MYFACES-1983] - Implement JSF 2.0 logic at TODO #42 > > * [MYFACES-1984] - Implement JSF 2.0 logic at TODO #43 > > * [MYFACES-1985] - Implement JSF 2.0 logic at TODO #44 > > * [MYFACES-1986] - Implement JSF 2.0 logic at TODO #45 > > * [MYFACES-1987] - Implement JSF 2.0 logic at TODO #46 > > * [MYFACES-1998] - Implement JSF 2.0 logic at TODO #57 > > * [MYFACES-2003] - Implement JSF 2.0 logic at TODO #58 > > * [MYFACES-2014] - Implement > > ResponseStateManager.getViewState(FacesContext, Object) and update state > > saving field on client when ajax response is processed > > * [MYFACES-2015] - Implements AJAX lifecycle on UIViewRoot > > * [MYFACES-2018] - Implement @ResourceDependency support for setConverter > > and addValidator > > * [MYFACES-2019] - Implement iterator() on DataModel > > * [MYFACES-2020] - Implement changes to RenderKit > > * [MYFACES-2021] - Add EDR2 part of error handling to FacesServlet > > * [MYFACES-2022] - Add setSubmitted(false) in UIForm.saveState > > * [MYFACES-2032] - Implement > > javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE config > > param > > * [MYFACES-2040] - Implement tag c:catch > > * [MYFACES-2041] - Implement tag c:choose > > * [MYFACES-2042] - Implement tag c:forEach > > * [MYFACES-2043] - Implement tag c:if > > * [MYFACES-2044] - Implement tag c:otherwise > > * [MYFACES-2045] - Implement tag c:set > > * [MYFACES-2046] - Implement tag c:when > > * [MYFACES-2047] - Implement tag composite:actionSource > > * [MYFACES-2048] - Implement tag composite:attribute > > * [MYFACES-2049] - Implement tag composite:editableValueHolder > > * [MYFACES-2050] - Implement tag composite:facet > > * [MYFACES-2051] - Implement tag composite:implementation > > * [MYFACES-2052] - Implement tag composite:insertChildren > > * [MYFACES-2053] - Implement tag composite:insertFacet > > * [MYFACES-2054] - Implement tag composite:interface > > * [MYFACES-2055] - Implement tag composite:valueHolder > > * [MYFACES-2056] - Implement tag fn:contains() > > * [MYFACES-2057] - Implement tag fn:containsIgnoreCase() > > * [MYFACES-2058] - Implement tag fn:endsWith() > > * [MYFACES-2059] - Implement tag fn:escapeXml() > > * [MYFACES-2060] - Implement tag fn:indexOf() > > * [MYFACES-2061] - Implement tag fn:join() > > * [MYFACES-2062] - Implement tag fn:length() > > * [MYFACES-2063] - Implement tag fn:replace() > > * [MYFACES-2064] - Implement tag fn:split() > > * [MYFACES-2065] - Implement tag fn:startsWith() > > * [MYFACES-2066] - Implement tag fn:substring() > > * [MYFACES-2067] - Implement tag fn:substringAfter() > > * [MYFACES-2068] - Implement tag fn:substringBefore() > > * [MYFACES-2069] - Implement tag fn:toLowerCase() > > * [MYFACES-2070] - Implement tag fn:toUpperCase() > > * [MYFACES-2071] - Implement tag fn:trim() > > * [MYFACES-2072] - Implement tag ui:component > > * [MYFACES-2073] - Implement tag ui:composition > > * [MYFACES-2074] - Implement tag ui:debug > > * [MYFACES-2075] - Implement tag ui:decorate > > * [MYFACES-2076] - Implement tag ui:define > > * [MYFACES-2077] - Implement tag ui:fragment > > * [MYFACES-2078] - Implement tag ui:include > > * [MYFACES-2079] - Implement tag ui:insert > > * [MYFACES-2080] - Implement tag ui:param > > * [MYFACES-2081] - Implement tag ui:repeat > > * [MYFACES-2085] - Add ApplicationWrapper class > > * [MYFACES-2086] - Add DiscoveryHandler class > > * [MYFACES-2088] - Add ExceptionHandler class > > * [MYFACES-2093] - Add ExceptionEvent class > > * [MYFACES-2096] - Make DataModel types generic > > * [MYFACES-2098] - Add RegexValidator class > > * [MYFACES-2101] - Javadoc update for method Object getFactory(String > > factoryName) of FactoryFinder class > > * [MYFACES-2102] - Implement JSF 2.0 logic for UIComponent > > createComponent(FacesContext context,Resource componentResource) TODO #60 > > * [MYFACES-2105] - Implement JSF 2.0 logic for UIComponent > > createComponent(final String componentType) > > * [MYFACES-2106] - add Exception handler factory to FactoryFinder and > > update getFactory method > > * [MYFACES-2108] - implement ExceptionHandler contract on myfaces-impl > > * [MYFACES-2123] - Add javax.faces.webapp.pdl.facelets.* API classes > > * [MYFACES-2125] - Add UIComponent.doTreeTraversal method > > * [MYFACES-2136] - UISelectMany > > * [MYFACES-2151] - Make test work using shale test (changes in jsf 2.0 > > make it fail) > > * [MYFACES-2163] - Add RequiredValidator > > * [MYFACES-2166] - Some Resources contains ValueExpressions that must be > > evaluated > > * [MYFACES-2171] - Add Config Ordering feature > > * [MYFACES-2178] - Implement IMPL - method addResponseHeader of > > ExternalContext > > * [MYFACES-2179] - Implement IMPL - method getRequestContentLength of > > ExternalContext > > * [MYFACES-2180] - Implement IMPL - method getResponseBufferSize of > > ExternalContext > > * [MYFACES-2181] - Implement IMPL - method getResponseOutputWriter of > > ExternalContext > > * [MYFACES-2182] - Implement IMPL - method isResponseCommitted of > > ExternalContext > > * [MYFACES-2184] - Implement IMPL - all TODO methods of ExternalContext > > * [MYFACES-2187] - Implement encodeBookmarkableURL and encodeRedirectURL > > in ExternalContext > > * [MYFACES-2189] - Implement ApplicationImpl TODO's for Behavior > > * [MYFACES-2197] - ExceptionQueuedEventContext todos > > * [MYFACES-2198] - remaining FacesContext/FacesContextImpl TODOs. > > * [MYFACES-2205] - Update UIViewRoot to latest spec draft > > * [MYFACES-2215] - Handle RenderKit TODOs for JSF 2.0 > > * [MYFACES-2219] - ViewHandler TODOs for JSF 2.0 > > * [MYFACES-2220] - FacesConfigurator should scan application config > > resources(files on META-INF/) ending with .faces-config.xml > > * [MYFACES-2222] - ViewHandler.DEFAULT_SUFFIX could contain several > > suffixes > > * [MYFACES-2225] - Implement PostAddToViewEvent and > > PreRemoveFromViewEvent thrown conditions > > * [MYFACES-2226] - Add support for remaining 2.0 faces-config.xml > > elements > > * [MYFACES-2227] - Update ResponseWriter/ResponseWriterWrapper to latest > > spec > > * [MYFACES-2228] - Add h:head, h:body, h:outputScript and > > h:outputStylesheet renderers > > * [MYFACES-2229] - update viewid calculation to new algorithm > > * [MYFACES-2230] - FaceletViewDeclarationLanguage TODOs > > * [MYFACES-2231] - Handle the TODOs for JSPViewDeclarationLanguage > > * [MYFACES-2254] - Finish ExceptionHandler support > > * [MYFACES-2255] - Create UIOutcomeTarget API class > > * [MYFACES-2258] - Add support for <if> navigation > > * [MYFACES-2259] - Implement Partial State Saving feature > > * [MYFACES-2262] - implement outcomtarget renderers > > * [MYFACES-2263] - Create Composite component EL resolver > > * [MYFACES-2264] - Behavior registration > > * [MYFACES-2266] - Implement Flash object and EL resolver > > * [MYFACES-2267] - handle TODOs for UIComponentBase > > * [MYFACES-2268] - Add support for registering client behavior renderers > > * [MYFACES-2270] - Add FacesContext param to Application.publishEvent > > * [MYFACES-2271] - Call FacesMessage.rendered on message renderers > > * [MYFACES-2272] - Apply changes related to UIInput.validateValue and > > UIInput.VALIDATE_EMPTY_FIELDS_PARAM_NAME > > * [MYFACES-2273] - ClientBehaviorRenderer/ClientbehaviorBase TODOs > > * [MYFACES-2274] - Implement UIMessage.isRedisplay and > > UIMessages.isRedisplay > > * [MYFACES-2275] - UIMessages.getFor (Filter messages of a selected > > component) > > * [MYFACES-2276] - Update renderers that receive UIParameter to deal with > > "disable" param. > > * [MYFACES-2277] - UISelectItem.isNoSelectionOption (deal with it on > > UISelectOne.validateValue and UISelectMany.validateValue) > > * [MYFACES-2278] - Render columns with th instead td, according to > > HtmlColumn.isRowHeader > > * [MYFACES-2279] - TODOs for javax.faces.application.NavigationCase > > * [MYFACES-2280] - ValidatorException should support collections of > > messages. > > * [MYFACES-2281] - Implement ViewListeners-Events api on UIViewRoot > > * [MYFACES-2282] - h:dataTable and h:panelGrid should implement bodyrows > > behavior (tbody encapsulation) > > * [MYFACES-2283] - Apply selected/unselected css class to > > h:selectManyCheckbox > > * [MYFACES-2284] - Allow h:outputLink "fragment" property to append text > > to url after '#' > > * [MYFACES-2285] - Add ExternalContextFactory Implementation > > * [MYFACES-2286] - javax.faces.view.facelets TODOs > > * [MYFACES-2291] - Components implementing ClientBehaviorHolder should > > override getEventNames() and getDefaultEventName() > > * [MYFACES-2292] - update NavigationHandlerImpl to extend > > ConfigurableNavigationHandler > > * [MYFACES-2293] - ui:composition, ui:define and ui:insert component tag > > handlers does not work as expected > > * [MYFACES-2294] - Sync API with final 2.0 spec > > * [MYFACES-2297] - Add TagHandlerDelegateFactory implementation > > * [MYFACES-2298] - Apply algorithm described on > > javax.faces.view.facelets.ComponentHandler in implementation > > * [MYFACES-2299] - Add AttachedObjectHandler implementation when it is > > necessary > > * [MYFACES-2300] - binding property on facelets tag handlers should be > > retrieved from javax.faces.view.facelets.DelegatingMetaTagHandler > > * [MYFACES-2302] - Get simple 2.0 app working > > * [MYFACES-2304] - Annotate facelets stuff adding @JSFFaceletTag and > > @JSFFaceletAttribute to myfaces-builder-plugin > > * [MYFACES-2307] - Generate HtmlHead and HtmlBody > > * [MYFACES-2309] - Add new attributes to f:selectItems > > * [MYFACES-2310] - Implement Composite Component feature > > * [MYFACES-2322] - Implement <f:metadata> tag handler > > * [MYFACES-2327] - Move facelets test code to myfaces > > * [MYFACES-2330] - Get "basic-ajax" 2.0 sample app working > > * [MYFACES-2337] - Implement UniqueIdVendor.createUniqueId method and > > review all related code to UniqueIdVendor > > * [MYFACES-2340] - Get "basic-ezcomp" 2.0 sample working > > * [MYFACES-2341] - facelet tag lib parser includes <behavior> section > > * [MYFACES-2345] - Add View Parameters feature > > * [MYFACES-2349] - h:commandButton allows type="button" on jsf 2.0 > > * [MYFACES-2364] - PostRestoreStateEvent should be called from > > DefaultRestoreViewSupport.processComponentBinding > > * [MYFACES-2365] - DefaultRestoreViewSupport.calculateViewId should not > > call ViewHandler.deriveViewId, it should be called later from > > ViewHandler.createView and ViewHandler.restoreView > > * [MYFACES-2366] - RestoreViewExecutor should check also if the server is > > showing an error page when check for postback > > * [MYFACES-2367] - FacesContext.isProcessingEvents should be called from > > Application.publishEvent > > * [MYFACES-2375] - <managed-bean-scope> could also be an EL expression, > > to allow easy implementation of new scopes > > * [MYFACES-2376] - h:outputScript should force type="text/javascript" > > * [MYFACES-2378] - Use java util logging on 2.0.x branch > > * [MYFACES-2379] - Create site for core 2.0.x > > * [MYFACES-2399] - ManagedBeanResolver does not handle view scope > > * [MYFACES-2403] - Myfaces core 2.0 uses jdk 6, but it should be jdk 5 > > * [MYFACES-2407] - _ComponentChildrenList does not implement all List > > methods > > * [MYFACES-2411] - Update api to match latest signature > > * [MYFACES-2413] - @ResourceDependency annotations should be scanned when > > Application.createConverter(String) and Application.createValidator(String) > > is called > > * [MYFACES-2414] - ResourceHandlerImpl should scan first with locale > > prefix and then without it > > * [MYFACES-2419] - NavigationHandler does not deal with no outcome & no > > action & no if case > > * [MYFACES-2422] - Change package name to org.apache.myfaces.test in > > myfaces-test project > > * [MYFACES-2424] - c namespace changed to > > http://java.sun.com/jsp/jstl/core > > > > regards > > > > Leonardo Uribe > > > > > > -- > Best Regards, > > Delos _________________________________________________________________ 约会说不清地方?来试试微软地图最新msn互动功能! http://ditu.live.com/?form=TL&swm=1