HatalarJSF
- Posted on
- Comments 0
Setter not found for property class – JSF
Merhaba Arkadaşlar ,
Managed Bean’leri bazen template içinde kullanmak isteyebiliyoruz. Örneğin header da “Hoşegeldiniz , blabla ” yazması için bile olabilir. Eğer template kullanıyorsanız , burada benim başımı baya ağrıtan bir problem oluşuyor. İnternette araştırdıktan sonra sorunun çözümünü buldum. Umarım bu hata ile karşılaşırsanız sizde kolayca çözersiniz.
Çözüm için yapmanız gereken tekşey var. Managed Bean kullandığınız html tag’ının class attribute’ unu styleClass olarak değiştirmeniz yeterli. Aşağıdaki gibi ;
Çözüm :
<p:password value="#{mainController.loginMember.memberPassword}" class="span2" />
<p:password value="#{mainController.loginMember.memberPassword}" styleClass="span2" />
Hata Kodu :
java.lang.IllegalArgumentException: Setter not found for property class at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBase.java:2450) at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBase.java:2330) at com.sun.faces.facelets.tag.jsf.ComponentRule$LiteralAttributeMetadata.applyMetadata(ComponentRule.java:87) at com.sun.faces.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:81) at javax.faces.view.facelets.MetaTagHandler.setAttributes(MetaTagHandler.java:129) at javax.faces.view.facelets.DelegatingMetaTagHandler.setAttributes(DelegatingMetaTagHandler.java:102) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.doNewComponentActions(ComponentTagHandlerDelegateImpl.java:412) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:175) at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:190) at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
şeklinde devam ediyor..
Kaynak : http://duckranger.com/2010/05/facelets-setter-not-found-for-property-class/ (Thank you again..)
Görüşmek Üzere
Muharrem Tığdemir