Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 318795

Summary: JSTL 1.2 rejected with 8.0.0.M0, not with 7.1.4
Product: [RT] Jetty Reporter: benson margulies <bimargulies>
Component: serverAssignee: Jan Bartel <janb>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: janb, jetty-inbox
Version: unspecified   
Target Milestone: 7.1.x   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
See Also: https://bugs.eclipse.org/bugs/show_bug.cgi?id=318561
Whiteboard:

Description benson margulies CLA 2010-07-03 14:31:06 EDT
Build Identifier: 8.0.0.M0

I have jstl 1.2 in my webapp's lib, and <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> in my jsp pages. it works fine in 7.1.4, but in 8.0 it claims that it can't find a taglib to go with the above URI.

Reproducible: Always

Steps to Reproduce:
1. make a webapp with jstl-1.2 in the webapp and a jsp page that calls for the 1.2 URI.
2. try to access it
3. error
Comment 1 Jan Bartel CLA 2010-07-04 02:44:53 EDT
Hi Benson,

Jetty-8 uses the jsp 2.2 specification, and the RI from Glassfish. In the implementation of the TldScanner class, which handles finding tag files, there is explicit code that insists that the jstl jars are on the system classpath. 

Now, with jetty-8.0.0.M0, the jstl jars had been left out. With the fix for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=318561, they're back onto jetty's system classpath, so they will be found there.

Note that with jetty-7, a) the jars were always on the system classpath and b) it used a totally different mechanism for discovering the tag files.

So in short, I think that there is nothing to fix for this issue, and that in the next release of jetty-8 the jstl jars will be available on the system classpath.
Comment 2 benson margulies CLA 2010-07-04 09:15:01 EDT
Let me add one more factoid:

In 8.0.0.M0, http://java.sun.com/jstl/core (the old version) works.

Do I have access to add something to the Wiki here? It could sorely use a description of this situation.
Comment 3 Jan Bartel CLA 2010-07-04 09:40:44 EDT
Benson, 

Yes, that probably does work. It works because the TldScanner.java class explicitly treats tags with the following URIs as special and coming only from the system classpath:

    static {
        systemUrisJsf.add("http://java.sun.com/jsf/core");
        systemUrisJsf.add("http://java.sun.com/jsf/html");
        systemUris.add("http://java.sun.com/jsp/jstl/core");
    }


Not sure about non-committer access to the eclipse wiki ... I'll try and add something about jstl & jsp & jetty-8 this week.

cheers
Jan
Comment 4 benson margulies CLA 2010-07-04 10:40:01 EDT
That certainly explains it. Boy, was I ever confused. Thanks.