Here's how the Beansource works. It uses the standard transformer templated code, except we use the BeanSource as the input xml source. --------------------------------------------------------- TransformerFactory tf = TransformerFactory.newInstance(); Transformer t = tf.newTransformer(myStyleSheetSource); t.transform(new BeanSource(myJavaBean), myResult); --------------------------------------------------------- So the style sheet becomes the new 'JSP' file, and the Java bean is the xml document. What this means is one Servlet can serve all pages, and we just need one stylesheet per destination html page, with a simple mechanism for map to find the correct stylesheet and Java Bean for each resultant html page.