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

Leave a Reply