Hi, I'm working with Geronimo 2.1 with MyFaces 1.2.2 and can't get my custom renderer working. This is faces-config.xml file:
<?xml version="1.0" encoding="UTF-8"?> <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" version="1.2"> <render-kit> <renderer> <display-name><![CDATA[Mój własny JSF renderer]]></display-name> <component-family>javax.faces.Output</component-family> <renderer-type>javax.faces.Text</renderer-type> <renderer-class>pl.jaceklaskowski.jsf.renderers.DodajTekstRenderer</renderer-class> </renderer> </render-kit> </faces-config> and the code of DodajTekstRenderer: package pl.jaceklaskowski.jsf.renderers; import java.io.IOException; import java.util.logging.Logger; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.render.Renderer; public class DodajTekstRenderer extends Renderer { Logger logger = Logger.getLogger(DodajTekstRenderer.class.getName()); public DodajTekstRenderer() { super(); logger.info("Utworzono renderer"); System.out.println("XYZ"); } @Override public void decode(FacesContext facesContext, UIComponent component) { // super.decode(facesContext, component); logger.info("Wywołano decode"); System.out.println("Wywołano decode"); } @Override public void encodeBegin(FacesContext context, UIComponent component) throws IOException { // TODO Auto-generated method stub // super.encodeBegin(context, component); logger.info("Wywołano encodeBegin"); System.out.println("Wywołano encodeBegin"); } @Override public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException { // TODO Auto-generated method stub // super.encodeEnd(facesContext, component); logger.info("Wywołano encodeEnd"); System.out.println("Wywołano encodeEnd"); } } Not much, but meant to see whether it worked or not. It did not. The constructor was called yet no other renderer methods. The corresponding jsf page is as follows: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%> <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Mój własny JSF Renderer</title> </head> <body> <f:view> <h:outputText value="Pewien tekst"></h:outputText> </f:view> </body> </html> Does anybody know what's wrong with it? Is it possible to override default html renderer? I already read Extending Trinidad's default renderers [1], but since it depends on Trinindad it didn't help much. [1] http://matthiaswessendorf.wordpress.com/2008/02/20/extending-trinidads-default-renderers/ Jacek -- Jacek Laskowski http://www.JacekLaskowski.pl

