At some point did end up with the same error, and havent
found a solution yet. but yes have done the following

1. removed an older j2ee/servlet.jar file out of classpath
to avoid older jsp implementations in the way.
2. use JWhich (a simple utility program from javaworld) to ascertain that with the given classpath, the
"javax.servlet.jsp.tagext.BodyTag" does get loaded from
weblogic.jar

still looking around. when I turn on the "verbose" option
when I start weblogic, I clearly see this being Loaded from 2 different locations. still hunting for the other one ?