try and add the tag lib jar as a "tagLibJar" param in the web.xml.
I have done this. In fact, I was up until 4:00am doing this in every conceivable fashion. Nothing I did had any effect. What I think I need, since I've posted this question in several different places and you're the first in 3 days to respond to it, is some way to debug what's going on. There's no indication of any error. Tomcat's web.xml is unclear about whether things should go in the conf/tlds directory, which doesn't exist after the installation, or in the jsf-libs directory. What constraints are there on the tagLibJar name? Where is this stuff documented? I have found some small amount of documentation in the JBoss admin guide, but they talk only about Faces. I can't understand why JBoss and Tomcat are breaking the rules for deployment of J2EE applications and not making it clear how it should work.
Thank you for your response. Do you know of any way to make Tomcat, or Catalina, or Jasper complain about what's going on?
if the taglibjar# param didn't help (it tells it where to look for jsf tlds - I don't remember where the doc is check wiki) the only thing I can think of is jars mismatch or class loding problems. Check if your application deploy jars that are part of the jboss installation and make sure you have the same version. Try and set isolation on and see if it helps.
I had similar problems long time ago. I found out my web.xml used the 2.3 DTD.
Make sure your web.xml is declared for J2EE 2.4.
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> </web-app>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
I have found something interesting. I have two wars, one in an ear, the other deployed as a war. The war in the ear has the problem. The war deployed outside of the ear does not. I'm looking at what they have in the WEB-INF/lib directories to see if the reason might be there, but so far I don't see anything strange. I've copied the contents of the WEB-INF/lib directory from the war that works to the war that doesn't and re-deployed. There are about 8 commons jar files in the war that works that are not in the war that doesn't. I thought that might be something to do with it. It had no effect. Everything has no effect.
BTW, both wars have the appropriate declaration in the web.xml.
Review the JBoss Classloading documentation at http://wiki.jboss.org/wiki/Wiki.jsp?page=ClassLoading and server guide
I have found that the problem only happens on one page! I'm very excited. Just have to find out what's wrong with that page now.
So, the problem was that the jsp pages that didn't work had an extension of jspf instead of jsp. Adding a servlet-mapping entry to Tomcat's web.xml file solved the problem.
Thanks to all who tried to help.