[ https://issues.apache.org/jira/browse/MYFACES-3874?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leonardo Uribe resolved MYFACES-3874. ------------------------------------- Resolution: Fixed Fix Version/s: 2.2.3 Assignee: Leonardo Uribe I have sended an email to the EG user list, describing the problem, see: https://java.net/projects/javaserverfaces-spec-public/lists/users/archive/2014-03/message/27 I have already committed a solution for this one based on the comments. It is clear this behaviour is not mentioned in the spec, but the spirit of spec supports the changes. > Component property class is not writable > ---------------------------------------- > > Key: MYFACES-3874 > URL: https://issues.apache.org/jira/browse/MYFACES-3874 > Project: MyFaces Core > Issue Type: Bug > Affects Versions: 2.2.2 > Environment: apache-tomcat-7.0.52, jdk1.6 > Reporter: Krashan Brahmanjara > Assignee: Leonardo Uribe > Fix For: 2.2.3 > > > Mojarra 2.2.6 accept jsf:class attribute without problem. Myfaces 2.2.2 no > example > {noformat} > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE html [<!ENTITY nbsp " ">]> > <html dir="ltr" class="client-js ve-not-available" lang="en" > xmlns="http://www.w3.org/1999/xhtml" > xmlns:f="http://xmlns.jcp.org/jsf/core" > xmlns:h="http://xmlns.jcp.org/jsf/html" > xmlns:jsf="http://xmlns.jcp.org/jsf" > xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"> > <body> > <li jsf:class="toclevel-1 tocsection-2"/> > </body> > </html> > {noformat} > Exception > {noformat} > HTTP Status 500 - Component property class is not writable > type Exception report > message Component property class is not writable > description The server encountered an internal error that prevented it from > fulfilling this request. > exception > javax.servlet.ServletException: Component property class is not writable > javax.faces.webapp.FacesServlet.service(FacesServlet.java:230) > root cause > java.lang.IllegalArgumentException: Component property class is not writable > > javax.faces.component._ComponentAttributesMap.setComponentProperty(_ComponentAttributesMap.java:709) > > javax.faces.component._ComponentAttributesMap.put(_ComponentAttributesMap.java:584) > > javax.faces.component._ComponentAttributesMap.put(_ComponentAttributesMap.java:55) > > org.apache.myfaces.view.facelets.tag.jsf.ComponentRule$LiteralAttributeMetadata.applyMetadata(ComponentRule.java:52) > > org.apache.myfaces.view.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:45) > > javax.faces.view.facelets.MetaTagHandler.setAttributes(MetaTagHandler.java:63) > > javax.faces.view.facelets.DelegatingMetaTagHandler.setAttributes(DelegatingMetaTagHandler.java:90) > > org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:290) > > javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:50) > > javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:46) > > javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:55) > > org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:373) > > javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:50) > > javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:46) > > org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:59) > > javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:46) > > javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:46) > > org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48) > > org.apache.myfaces.view.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:187) > > org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.buildView(FaceletViewDeclarationLanguage.java:477) > > org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:78) > > org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:267) > javax.faces.webapp.FacesServlet.service(FacesServlet.java:200) > note The full stack trace of the root cause is available in the Apache > Tomcat/7.0.52 logs. > {noformat} -- This message was sent by Atlassian JIRA (v6.2#6252)