According to the JSP 2.0 specification, custom tag prefix and name should be of the type XML:Name. However, for Tomcat 5.5.8, if the name is not a legal java identifier, then a compilation error occurs. For instance, Tomcat won't accept Da~te`T#ag as a legal name for the Tag.
I see the JSP spec uses j2ee:tld-canonical-nameType, which says it's the same as xsd:nmtoken, which according to http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-Nmtoken should allow these various characters. So this does seem to be a real issue, but I don't have the time to fix it right now, and I think the magnitude of the patch required might be big...
This has been fixed in svn and will be included in 5.5.20 onwards
HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: fiid is null in html_header.jsp org.apache.jsp.jsp.displaycriticalerror_jsp._jspService (org.apache.jsp.jsp.displaycriticalerror_jsp:274) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) com.premier.ofa.servlets.LoggedHttpServlet.forwardToPage (LoggedHttpServlet.java:399) com.premier.ofa.servlets.TransactionProcessorServlet.forwardToErrorPage (TransactionProcessorServlet.java:1137) com.premier.ofa.servlets.TransactionProcessorServlet.forwardToErrorPage (TransactionProcessorServlet.java:1124) com.premier.ofa.servlets.TransactionProcessorServlet.doGet (TransactionProcessorServlet.java:687) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) com.premier.ofa.servlets.LoggedHttpServlet.service (LoggedHttpServlet.java:157) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs. -------------------------------------------------------------------------------- Apache Tomcat/5.5.9
See #2