My web application is getting migrated to Jboss 5.1 from weblogic 8.1.
There are many JSP pages where we have some HTML tags directly under choose tag(see the sample JSP below) and it used to get evaluated with weblogic 8.1. However if the same app is deployed in jboss and accessed i'm getting the below error
[java] 14:33:02,187 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
[java] org.apache.jasper.JasperException: <h3>Validation error messages from TagLibraryValidator for c in /test8.jsp</h3><p>14: Illegal text inside "c:choose" tag: "<b>A
ler...".</p><p>14: Illegal text inside "c:choose" tag: "</b>...".</p>
[java] at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
[java] at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
[java] at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:74)
[java] at org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:1795)
[java] at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1741)
JBoss version used - 5.1
When i moved the HTML tags outside the choose tag then it is working.
Is there any mandate not to keep html tags inside choose tag. Please help.
I responding from memory (I don't have my example apps with me) but from what I recall, you need to package standard.jar in your WAR but you should not install the jstl.jar (JBoss AS supplies it).
It does sound like you are picking up a stray standard.jar from somewhere. Check you CLASSPATH env var (by the way, I recommend not setting that env var, doing so often causes surprises). If that doesn't help, add the "-verbose:class" option to the java command line (in run.conf.bat on windows). This option tells you each class loaded and the JAR it came from. When you run your app you should see the JAR the standard classes are being loaded from.