tomcat-taglibs-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kris Schneider <k...@dotech.com>
Subject Re: EL not being evaluated?
Date Fri, 06 Feb 2004 13:11:58 GMT
Personally, I'd keep JSTL/Standard in WEB-INF/lib and Xerces/Xalan in endorsed.
Unless I needed an app-specific version of the XML libs, in which case I'd need
them in WEB-INF/lib. I wouldn't recommend dumping everything in endorsed, or
some other directory that a shared classloader can access, since it can cause
problems for certain frameworks (e.g. Struts). I'm not sure if JSTL/Standard
suffers from this problem. So, I guess my second choice would be to dump
everything in WEB-INF/lib.

Not exactly sure what's going on with that NPE. Can you post some example code
that triggers it?

Quoting David Wall <d.wall@computer.org>:

> Thanks.  The comments below did it for me.  However, I still had some JAR
> file location issues (tomcat's common/endorsed for the webapps
> WEB-INF/lib).
> 
> Do most people put the XERCES, XALAN, JSTL/STANDARD jars in the endorsed
> location or do they just keep it with their webapps?  Right now, I seem to
> be working with XERCES and XALAN in endorsed, and the JSTL/STANDARD in my
> WEB-INF/lib.  Obviously, I'd prefer to have everything in the WEB-INF/lib
> since it would be packaged nicely together, or I'd prefer all these
> "non-app" JARs to be in the endorsed area.
> 
> Even though everything appeared okay with my initial EL, I did note the
> following exception in catalina.log:
> 
> java.lang.NullPointerException
>         at
> org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:557)
>         at
> org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:487)
>         at
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:5
> 50)
>         at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
> 91)
>         at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
>         at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:284)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:204)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> va:257)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> t.java:151)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
> Valve.java:245)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:199)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> t.java:151)
>         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
> .java:587)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> t.java:149)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195
> )
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> t.java:151)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164
> )
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> t.java:149)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:578)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> t.java:149)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> :156)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> t.java:151)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
>         at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
>         at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
> ction(Http11Protocol.java:700)
>         at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> a:683)
>         at java.lang.Thread.run(Thread.java:534)
> 
> 
> David
> 
> 
> > Instead of:
> >
> > <!DOCTYPE web-app
> >     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> >     "http://java.sun.com/dtd/web-app_2_3.dtd">
> > <web-app>
> >   ...
> > </web-app>
> >
> > Use:
> >
> > <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/web-app_2_4.xsd"
> >          version="2.4">
> >   ...
> > </web-app>
> >
> > Get rid of the <taglib> element and the TLD file, as of JSP 1.2 you don't
> need
> > them for packaged taglibs. Just use the proper URI in the taglib
> directive
> in
> > your JSP:
> >
> > <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

-- 
Kris Schneider <mailto:kris@dotech.com>
D.O.Tech       <http://www.dotech.com/>

---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: taglibs-user-help@jakarta.apache.org


Mime
View raw message