Ich bin mit MyFaces 2.1.9 und PrimeFaces 3.5. Ich habe einen benutzerdefinierten Renderer für <p:inputText>
implementiert. Dies funktioniert zu Hause mit Tomcat. Aber das funktioniert bei der Arbeit mit Websphere nicht. Ich habe Haltepunkte in der benutzerdefinierten Renderer-Klasse platziert, aber sie werden nie getroffen. Ich sehe auch nichts in meinen Logs. Wenn ich jedoch den gleichen benutzerdefinierten Renderer auf Standard-JSF <h:inputText>
registriere, funktioniert es einwandfrei.Benutzerdefinierte Renderer für PrimeFaces Komponente arbeitet in Tomcat in Ordnung, aber nicht in Websphere
Ich habe es registriert, wie in faces-config.xml
folgt:
<render-kit>
<renderer>
<component-family>org.primefaces.component</component-family>
<renderer-type>org.primefaces.component.InputTextRenderer</renderer-type>
<renderer-class>xxx.xxx.xxx.MyInputRenderer</renderer-class>
</renderer>
</render-kit>
Wie kann ich die Registrierung des benutzerdefinierten Renderer beheben?
Beginnen Sie mit einem Haltepunkt auf 'RenderKit # addRenderer()'. – BalusC
Danke! Jetzt weiß ich, dass mein Renderer zuerst bearbeitet wird, dann kommt der reguläre Renderer in addREnderer und überschreibt meinen! Wie kann ich das lösen? – KTrum
Okay, das erklärt es tatsächlich. Wo ist deine 'faces-config.xml'? In einer benutzerdefinierten JAR-Datei in '/ WEB-INF/lib' oder direkt in webapp'/WEB-INF'? Wenn in JAR, dann ist der Ladeauftrag nicht definiert. Wenn es vor dem PrimeFaces geladen ist, dann bekommen Sie dieses Problem. – BalusC