FacesTrace: Introspection for JSF Applications
Do yourself a favor if you are developing JSF applications. Have a look at FacesTrace. I certainly wish that I looked at it earlier.
FacesTrace is a JSF component that allows developers to have visibility into the JSF request lifecycle. It also provides some timing information as well as the ability to view the information stored at the different JSF scope levels. Here is a screenshot (among others) from the project's web site:
Thanks to FacesTrace, I was able to track down the root cause of a problem I worked on for the better part of last week. It was a simple matter of tweaking some code once FacesTrace identified what phase was failing and what it was failing on.
You will need to add the following tag library definition to your application (and it's web.xml) if you are using Facelets:
<?xml version="1.0"?>
<!DOCTYPE facelet-taglib PUBLIC "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
"facelet-taglib_1_0.dtd">
<facelet-taglib>
<namespace>http://sourceforge.net/projects/facestrace
<tag>
<tag-name>trace
<component>
<component-type>net.sf.facestrace.component.Trace
</component>
</tag>
</facelet-taglib>
Once it is in place, you can add the namespace to the root element of your facelets document and add an <ft:trace /> tag somewhere on the page.






You are missing the close tags for “namespace”, “tag-name”, “component-type”.
I also had to add:
facelets.LIBRARIES
/WEB-INF/tomahawk.taglib.xml;/WEB-INF/sandbox.taglib.xml;/WEB-INF/facestrace.taglib.xml
in my web.xml
(Faces is a mysterious set of tiny unrelated config files pointing to broken outdated jars. Or at least this is how I see it :-) )