You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-user@tomcat.apache.org by Karsten Wutzke <kw...@starconcept.de> on 2003/06/01 06:38:28 UTC

Going nuts with JSTL tag lib installation

Hi all!

I'm really going nuts with the JSTL installation... I only want to use 
the core tag lib.

I really did everything as described:

1. Download the current version jakarta-taglibs-standard-current.zip
from here: http://www.apache.org/dist/jakarta/taglibs/standard/

2. Unzip anywhere.

3. Copy the c.tld tag library desciptor to <mywebapp>/web/WEB-INF

4. Copy the jstl.jar and standard.jar to <mywebapp>/web/WEB-INF/lib

Please note that I'm using Ant to build my application war file like this:

<target name="dist" depends="compile,manifest" description="Create WAR">
   <war destfile="${dist.file}" webxml="${webxml.file}" 
manifest="${manifest.file}">
     <classes dir="${build.dir}"/>
     <lib     dir="${lib.dir}" includes="*.jar"/>
     <fileset dir="${web.dir}" excludes="WEB-INF/web.xml"/>
   </war>
   <!--unwar src="${dist.file}" dest="${dist.dir}"/-->
</target>

This makes sure, that files and dirs in the web dir end up in the root 
in the WAR file. I can verify this with the outcommented unwar task.

5. Leave away any web.xml entries, since I'm using Tomcat 4.1.24.

6. Place <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> 
before the <html> tag in each JSP file wanting to access JSTL.

However: IT DOES NOT WORK AT ALL...

I get the following exception:


HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented 
it from fulfilling this request.

exception

org.apache.jasper.JasperException: This absolute uri 
(http://java.sun.com/jstl/core) cannot be resolved in either web.xml or 
the jar files deployed with this application
     at 
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:105)
     at 
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:430)
     at 
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:154)
     at 
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:159)
     at 
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:354)
     at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:381)
     at org.apache.jasper.compiler.Parser.parseElements(Parser.java:795)
     at org.apache.jasper.compiler.Parser.parse(Parser.java:122)
     at 
org.apache.jasper.compiler.ParserController.parse(ParserController.java:199)
     at 
org.apache.jasper.compiler.ParserController.parse(ParserController.java:153)
     at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:227)
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)
     at 
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
     at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
     at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
     at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
     at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
     at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
     at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
     at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
     at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
     at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
     at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
     at 
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
     at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
     at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
     at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
     at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
     at java.lang.Thread.run(Thread.java:536)

Apache Tomcat/4.1.24


Looks like the server can't find the tag library... can't resolve the 
URI. This is really bad. I sat all night for nothing, it's almost 6 AM 
and I'm totally stuck on this.

Where does the parser look for this URI? In the c.tld? Well, as I said 
I'm using Ant, plus the new install, uninstall, deploy etc. tasks. I 
realized that when using install, the c.tld is not expanded to the 
server web app /WEB-INF dir, although it is in the WAR file. Copying the 
c.tld to there manually unfortunately doesn't have any effect.

Can anyone help??? I'd really like to use JSTL, Java code in JSP's is 
not that great...

Thanks!
Karsten

PS: Struts?


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


Re: Going nuts with JSTL tag lib installation

Posted by "David M. Karr" <dm...@earthlink.net>.
>>>>> "Karsten" == Karsten Wutzke <kw...@starconcept.de> writes:

    Karsten> I get the following exception:

    Karsten> HTTP Status 500 -
    Karsten> type Exception report
    Karsten> message
    Karsten> description The server encountered an internal error () that prevented it from
    Karsten> fulfilling this request.

    Karsten> exception
    Karsten> org.apache.jasper.JasperException: This absolute uri
    Karsten> (http://java.sun.com/jstl/core) cannot be resolved in either web.xml or the jar
    Karsten> files deployed with this application

I would search in the archives for this, but it appears to be down right now.

Try opening up the jstl.jar file and inspecting the TLD file in the META-INF
directory.  That should specify the URI it expects.

-- 
===================================================================
David M. Karr          ; Java/J2EE/XML/Unix/C++
dmkarr@earthlink.net   ; SCJP; SCWCD




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


Re: Going nuts with JSTL tag lib installation

Posted by James CE Johnson <jc...@tragus.org>.
I'm not Karsten but...

Some time ago I tried to use standard-examples.war with JBoss 3.0.6 (which
uses Jetty) and got very similar (or maybe identical, its been a while)
errors. I posted (here I think) and got some info but never a "how to make
it work" :-(

I believe I saw in jetty in the stack trace in Karsten's original post.
Maybe Jetty just doesn't play nice with JSTL? That would be terribly
odd...

> Hi Karsten,
>
> I can tell you that I'm using JSTL in exactly the way
> you're describing, so it can be done.
>
> Which servlet/JSP container are you using?  I use
> Tomcat 4.1.24.  I put the all 11 jars that come in the
> JSTL lib directory in the WEB-INF/lib directory of my
> application, not in the server/lib or common/lib.
>
> Can you deploy and run the standard-examples.war that
> you downloaded with the standard tag library?  If I
> put that war file in TOMCAT_HOME/webapps directory and
> start the server, I can run examples for all the tag
> libraries.  I KNOW that's deployed properly.
>
> If you can't run that, you've got a serious problem.
> If you can, it says your deployment still isn't
> correct, and you'll have a template to compare your
> stuff to.  Try it and see. - MOD
>
>
> --- Karsten Wutzke <kw...@starconcept.de> wrote:
>> I tried the things (both of) you mentioned, however
>> it still doesn't
>> work, and I'm running out of ideas.
>>
>> Here's the head of the front controller class I use
>> for my index.jsp and
>> all other JSP's:
>>
>> public class MainServletFC extends HttpServlet
>> {
>>      //a date and time format for each log file
>>      private static final DateFormat df = new
>> SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
>>
>>      private Logger l;
>>      private Handler h;
>>
>>      public MainServletFC()
>>      {
>>          //create logger for each front controller
>> (for debugging)
>>          //log file name is "fc-" + time of this
>> class' instantiation
>>          h = HandlerFactory.createHandler("fc-" +
>> df.format(new Date()));
>>          l = LoggerFactory.createLogger(this);
>>          l.addHandler(h);
>>
>>          l.info("Front controller instance
>> created!");
>>
>>          //get class path system property
>>          String strClassPath =
>> System.getProperty("java.class.path");
>>
>>          l.info("Class path is '" + strClassPath +
>> "'.");
>>
>>          //try to instantiate a sample class
>> instance from JSTL
>>          try
>>          {
>>          Object o =
>> Class.forName("javax.servlet.jsp.jstl.core.Config")
>>                     .newInstance();
>>
>>              l.info("Successfully created an
>> instance of '" +
>>                     o.getClass().getName() + "'.");
>>          }
>>          catch( Exception e )
>>          {
>>              l.info( e.toString() );
>>          }
>>
>>      }
>>
>>
>>      public void doGet(HttpServletRequest req,
>> HttpServletResponse res)
>> throws ServletException, IOException
>> {
>>          l.info("A new request has arrived!");
>> .
>> .
>> .
>> <do processing>
>>
>> It never gets that far when having a tag lib
>> descriptor in the index.jsp
>> file. When outcommenting those, processing runs
>> through.
>>
>> index.jsp:
>>
>> <%@ taglib prefix="c"
>> uri="http://java.sun.com/jstl/core" %>
>>
>> <html>
>>
>>    <head>
>>      <title>TV Dieburg Basketball - Home</title>
>>      <meta http-equiv="content-type"
>> content="text/html;
>> charset=iso-8859-1">
>>    </head>
>>
>>    <body bgcolor="white" text="black" link="blue"
>> vlink="navy"
>> alink="turquoise">
>>
>>      <h3> <a href="index.jsp"         >Home</a>
>> </h3>
>>      <h3> <a href="MainServletFC?home">Seasons</a>
>> </h3>
>>
>>    </body>
>>
>> </html>
>>
>> Requesting page
>> http://localhost:8080/bluedemons/index.jsp leads to
>> the
>> following log file:
>>
>> 01.06.2003 18:23:03
>> de.bluedemons.servlet.MainServletFC <init>
>> INFO: Front controller instance created!
>> 01.06.2003 18:23:03
>> de.bluedemons.servlet.MainServletFC <init>
>> INFO: Class path is
>>
> 'c:\dev\jdk1.4\lib\tools.jar;c:\dev\jakarta-tomcat\bin\bootstrap.jar'.
>> 01.06.2003 18:23:03
>> de.bluedemons.servlet.MainServletFC <init>
>> INFO: Successfully created an instance of
>> 'javax.servlet.jsp.jstl.core.Config'.
>>
>>  From this, you can see that the sample class can be
>> loaded and
>> instantiated, so the jstl.jar (and standard.jar) got
>> loaded, though
>> these jars don't appear in the system property
>> "java.class.path".
>>
>> When commenting out the taglib tag in the jsp, the
>> following log file is
>> generated:
>>
>> 01.06.2003 18:35:07
>> de.bluedemons.servlet.MainServletFC <init>
>> INFO: Front controller instance created!
>> 01.06.2003 18:35:07
>> de.bluedemons.servlet.MainServletFC <init>
>> INFO: Class path is
>>
> 'c:\dev\jdk1.4\lib\tools.jar;c:\dev\jakarta-tomcat\bin\bootstrap.jar'.
>> 01.06.2003 18:35:07
>> de.bluedemons.servlet.MainServletFC <init>
>> INFO: Successfully created an instance of
>> 'javax.servlet.jsp.jstl.core.Config'.
>> 01.06.2003 18:35:44
>> de.bluedemons.servlet.MainServletFC doGet
>> INFO: A new request has arrived!
>> .
>> .
>> .
>>
>> This is exactly the same as above, just the extra
>> entry tells, that the
>> process did not throw an exception.
>>
>> When forwarding the next request to a JSP page
>> referencing the tablib,
>> the error from before occurs. So there must be some
>> problem for Tomcat
>> finding the TLD. The strange thing is that the JSTL
>> sample class can be
>> found, and the c.tld library descriptor is inside.
>>
>> I have no idea what else to try.
>>
>> Out-of-Luck-Karsten
>>
>>
>> Michael Duffy wrote:
>>
>> > Hi Karsten:
>> >
>> > I had this problem, too.  Shawn Bayern explained
>> it
>> > perfectly in a note that's in the archive.  Since
>> it's
>> > down right now, I'll do my best.
>> >
>> > If you look in the standard.jar, you'll see that
>> it
>> > has the .tlds in its META-INF directory.  The
>> > classloader will find them in the jar, since you
>> have
>> > it in your classpath.  There's no need to copy
>> .tld
>> > files anywhere.
>> >
>> > If you look inside any of the .tlds, you'll see a
>> > <uri> tag underneath <taglib> with
>> > "http://java.sun.com/jstl/core" as its value.
>> This is
>> > the string that you should have in your JSPs:
>> >
>> > <%@ taglib uri="http://java.sun.com/jstl/core"
>> > prefix="c" %>
>> >
>> > I never put <taglib> in my web.xml file, in spite
>> of
>> > what the books all say.  They're already available
>> in
>> > the standard.jar.
>> >
>> > When I set things up this way Tomcat has no
>> problem
>> > finding the standard tag libraries.  See if it
>> helps
>> > you, too. - MOD
>> >
>> >
>> > --- Karsten Wutzke <kw...@starconcept.de> wrote:
>> >
>> >>Hi all!
>> >>
>> >>I'm really going nuts with the JSTL
>> installation...
>> >>I only want to use
>> >>the core tag lib.
>> >>
>> >>I really did everything as described:
>> >>
>> >>1. Download the current version
>> >>jakarta-taglibs-standard-current.zip
>> >>from here:
>>
>>>http://www.apache.org/dist/jakarta/taglibs/standard/
>> >>
>> >>2. Unzip anywhere.
>> >>
>> >>3. Copy the c.tld tag library desciptor to
>> >><mywebapp>/web/WEB-INF
>> >>
>> >>4. Copy the jstl.jar and standard.jar to
>> >><mywebapp>/web/WEB-INF/lib
>> >>
>> >>Please note that I'm using Ant to build my
>> >>application war file like this:
>> >>
>> >><target name="dist" depends="compile,manifest"
>> >>description="Create WAR">
>> >>   <war destfile="${dist.file}"
>> >>webxml="${webxml.file}"
>> >>manifest="${manifest.file}">
>> >>     <classes dir="${build.dir}"/>
>> >>     <lib     dir="${lib.dir}" includes="*.jar"/>
>> >>     <fileset dir="${web.dir}"
>> >>excludes="WEB-INF/web.xml"/>
>> >>   </war>
>> >>   <!--unwar src="${dist.file}"
>> >>dest="${dist.dir}"/-->
>> >></target>
>> >>
>> >>This makes sure, that files and dirs in the web
>> dir
>> >>end up in the root
>> >>in the WAR file. I can verify this with the
>> >>outcommented unwar task.
>> >>
>> >>5. Leave away any web.xml entries, since I'm using
>> >>Tomcat 4.1.24.
>> >>
>> >>6. Place <%@ taglib
>> >>uri="http://java.sun.com/jstl/core" prefix="c" %>
>> >>before the <html> tag in each JSP file wanting to
>> >>access JSTL.
>> >>
>> >>However: IT DOES NOT WORK AT ALL...
>> >>
>> >>I get the following exception:
>> >>
>> >>
>> >>HTTP Status 500 -
>> >>
>> >>type Exception report
>> >>
>> >>message
>> >>
>> >>description The server encountered an internal
>> error
>> >>() that prevented
>> >>it from fulfilling this request.
>> >>
>> >>exception
>> >>
>> >>org.apache.jasper.JasperException: This absolute
>> uri
>> >>
>> >>(http://java.sun.com/jstl/core) cannot be resolved
>> >>in either web.xml or
>> >>the jar files deployed with this application
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:105)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:430)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:154)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:159)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:354)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.Parser.parseDirective(Parser.java:381)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.Parser.parseElements(Parser.java:795)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.Parser.parse(Parser.java:122)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.ParserController.parse(ParserController.java:199)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.ParserController.parse(ParserController.java:153)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:227)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
>> >
>> >>     at
>> >>
>> >>
>> >
>>
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
>> >
>> >>     at java.lang.Thread.run(Thread.java:536)
>> >>
>> >>Apache Tomcat/4.1.24
>> >>
>> >>
>> >>Looks like the server can't find the tag
>> library...
>> >>can't resolve the
>> >>URI. This is really bad. I sat all night for
>> >>nothing, it's almost 6 AM
>> >>and I'm totally stuck on this.
>> >>
>> >>Where does the parser look for this URI? In the
>> >>c.tld? Well, as I said
>> >>I'm using Ant, plus the new install, uninstall,
>> >>deploy etc. tasks. I
>> >>realized that when using install, the c.tld is not
>> >>expanded to the
>> >>server web app /WEB-INF dir, although it is in the
>> >>WAR file. Copying the
>> >>c.tld to there manually unfortunately doesn't have
>> >>any effect.
>> >>
>> >>Can anyone help??? I'd really like to use JSTL,
>> Java
>> >>code in JSP's is
>> >>not that great...
>> >>
>> >>Thanks!
>> >>Karsten
>> >>
>> >>PS: Struts?
>> >>
>> >>
>> >>
>> >>
>> >
>>
> ---------------------------------------------------------------------
>> >
>> >>To unsubscribe, e-mail:
>> >>taglibs-user-unsubscribe@jakarta.apache.org
>> >>For additional commands, e-mail:
>> >>taglibs-user-help@jakarta.apache.org
>> >>
>> >>
>> >
>> >
>> > __________________________________
>> > Do you Yahoo!?
>> > Yahoo! Calendar - Free online calendar with sync
>> to Outlook(TM).
>> > http://calendar.yahoo.com
>> >
>> >
>>
> ---------------------------------------------------------------------
>> > To unsubscribe, e-mail:
>> taglibs-user-unsubscribe@jakarta.apache.org
>> > For additional commands, e-mail:
>> taglibs-user-help@jakarta.apache.org
>> >
>> >
>>
>>
>>
>>
> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> taglibs-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail:
>> taglibs-user-help@jakarta.apache.org
>>
>
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
> http://calendar.yahoo.com
>
> --------------------------------------------------------------------- To
> unsubscribe, e-mail: taglibs-user-unsubscribe@jakarta.apache.org For
> additional commands, e-mail: taglibs-user-help@jakarta.apache.org


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


Re: Going nuts with JSTL tag lib installation

Posted by Karsten Wutzke <kw...@starconcept.de>.
This works!!!

Thanks a lot! But why does it work? How is that lookup performed?

Karsten

N. Chen wrote:

>have you try putting the location of tld file in the <@ taglib >
>declaration in the jsp file?
>
>like so:
>
><%@ taglib uri="WEB-INF/tld/c.tld" prefix="c" %>
>
>nick
>On Mon, 2 Jun 2003, Karsten Wutzke wrote:
>
>  
>
>>Michael Duffy wrote:
>>
>>    
>>
>>>Hi Karsten,
>>>
>>>If you're using Tomcat, I'd suspect that there's
>>>either still something amiss with your deployment or
>>>it's an earlier version of Tomcat that doesn't support
>>>JSP 1.2 or higher.
>>>
>>>I'm using JSTL successfully with Tomcat 4.1.24.  What
>>>version are you using? - MOD
>>>
>>>
>>>
>>>
>>>      
>>>
>>I'm using Tomcat 4.1.24, really the very latest versions of everything...
>>Ant 1.5.3, MySQL 4.1 Alpha, javamake 1.3.2, JDK 1.4.1 (1.4.2 Beta on my
>>laptop)
>>
>>;-)
>>
>>But no can do.
>>
>>Anyway, the WAR file you sent to me is corrupt. Neither Winzip nor Ant
>>is able to unzip or unwar the file.
>>
>>Can you send it again, please?
>>
>>Karsten
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: taglibs-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: taglibs-user-help@jakarta.apache.org
>>
>>
>>    
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: taglibs-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: taglibs-user-help@jakarta.apache.org
>
>  
>



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


Re: Going nuts with JSTL tag lib installation

Posted by "N. Chen" <ni...@u.washington.edu>.
have you try putting the location of tld file in the <@ taglib >
declaration in the jsp file?

like so:

<%@ taglib uri="WEB-INF/tld/c.tld" prefix="c" %>

nick
On Mon, 2 Jun 2003, Karsten Wutzke wrote:

>
>
> Michael Duffy wrote:
>
> >Hi Karsten,
> >
> >If you're using Tomcat, I'd suspect that there's
> >either still something amiss with your deployment or
> >it's an earlier version of Tomcat that doesn't support
> >JSP 1.2 or higher.
> >
> >I'm using JSTL successfully with Tomcat 4.1.24.  What
> >version are you using? - MOD
> >
> >
> >
> >
> I'm using Tomcat 4.1.24, really the very latest versions of everything...
> Ant 1.5.3, MySQL 4.1 Alpha, javamake 1.3.2, JDK 1.4.1 (1.4.2 Beta on my
> laptop)
>
> ;-)
>
> But no can do.
>
> Anyway, the WAR file you sent to me is corrupt. Neither Winzip nor Ant
> is able to unzip or unwar the file.
>
> Can you send it again, please?
>
> Karsten
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: taglibs-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: taglibs-user-help@jakarta.apache.org
>
>


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


Re: Going nuts with JSTL tag lib installation

Posted by Karsten Wutzke <kw...@starconcept.de>.

Michael Duffy wrote:

>Hi Karsten,
>
>If you're using Tomcat, I'd suspect that there's
>either still something amiss with your deployment or
>it's an earlier version of Tomcat that doesn't support
>JSP 1.2 or higher.
>
>I'm using JSTL successfully with Tomcat 4.1.24.  What
>version are you using? - MOD
>
>
>  
>
I'm using Tomcat 4.1.24, really the very latest versions of everything...
Ant 1.5.3, MySQL 4.1 Alpha, javamake 1.3.2, JDK 1.4.1 (1.4.2 Beta on my 
laptop)

;-)

But no can do.

Anyway, the WAR file you sent to me is corrupt. Neither Winzip nor Ant 
is able to unzip or unwar the file.

Can you send it again, please?

Karsten


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


Re: Going nuts with JSTL tag lib installation

Posted by Michael Duffy <du...@yahoo.com>.
Hi Karsten,

If you're using Tomcat, I'd suspect that there's
either still something amiss with your deployment or
it's an earlier version of Tomcat that doesn't support
JSP 1.2 or higher.

I'm using JSTL successfully with Tomcat 4.1.24.  What
version are you using? - MOD


--- Karsten Wutzke <kw...@starconcept.de> wrote:
> I tried the things (both of) you mentioned, however
> it still doesn't 
> work, and I'm running out of ideas.
> 
> Here's the head of the front controller class I use
> for my index.jsp and 
> all other JSP's:
> 
> public class MainServletFC extends HttpServlet
> {
>      //a date and time format for each log file
>      private static final DateFormat df = new 
> SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
> 
>      private Logger l;
>      private Handler h;
> 
>      public MainServletFC()
>      {
>          //create logger for each front controller
> (for debugging)
>          //log file name is "fc-" + time of this
> class' instantiation
>          h = HandlerFactory.createHandler("fc-" +
> df.format(new Date()));
>          l = LoggerFactory.createLogger(this);
>          l.addHandler(h);
> 
>          l.info("Front controller instance
> created!");
> 
>          //get class path system property
>          String strClassPath =
> System.getProperty("java.class.path");
> 
>          l.info("Class path is '" + strClassPath +
> "'.");
> 
>          //try to instantiate a sample class
> instance from JSTL
>          try
>          {
>          Object o =
> Class.forName("javax.servlet.jsp.jstl.core.Config")
>                     .newInstance();
> 
>              l.info("Successfully created an
> instance of '" +
>                     o.getClass().getName() + "'.");
>          }
>          catch( Exception e )
>          {
>              l.info( e.toString() );
>          }
> 
>      }
> 
> 
>      public void doGet(HttpServletRequest req,
> HttpServletResponse res) 
> throws ServletException, IOException
> {
>          l.info("A new request has arrived!");
> .
> .
> .
> <do processing>
> 
> It never gets that far when having a tag lib
> descriptor in the index.jsp 
> file. When outcommenting those, processing runs
> through.
> 
> index.jsp:
> 
> <%@ taglib prefix="c"
> uri="http://java.sun.com/jstl/core" %>
> 
> <html>
> 
>    <head>
>      <title>TV Dieburg Basketball - Home</title>
>      <meta http-equiv="content-type"
> content="text/html; 
> charset=iso-8859-1">
>    </head>
> 
>    <body bgcolor="white" text="black" link="blue"
> vlink="navy" 
> alink="turquoise">
> 
>      <h3> <a href="index.jsp"         >Home</a>   
> </h3>
>      <h3> <a href="MainServletFC?home">Seasons</a>
> </h3>
> 
>    </body>
> 
> </html>
> 
> Requesting page
> http://localhost:8080/bluedemons/index.jsp leads to
> the 
> following log file:
> 
> 01.06.2003 18:23:03
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Front controller instance created!
> 01.06.2003 18:23:03
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Class path is 
>
'c:\dev\jdk1.4\lib\tools.jar;c:\dev\jakarta-tomcat\bin\bootstrap.jar'.
> 01.06.2003 18:23:03
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Successfully created an instance of 
> 'javax.servlet.jsp.jstl.core.Config'.
> 
>  From this, you can see that the sample class can be
> loaded and 
> instantiated, so the jstl.jar (and standard.jar) got
> loaded, though 
> these jars don't appear in the system property
> "java.class.path".
> 
> When commenting out the taglib tag in the jsp, the
> following log file is 
> generated:
> 
> 01.06.2003 18:35:07
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Front controller instance created!
> 01.06.2003 18:35:07
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Class path is 
>
'c:\dev\jdk1.4\lib\tools.jar;c:\dev\jakarta-tomcat\bin\bootstrap.jar'.
> 01.06.2003 18:35:07
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Successfully created an instance of 
> 'javax.servlet.jsp.jstl.core.Config'.
> 01.06.2003 18:35:44
> de.bluedemons.servlet.MainServletFC doGet
> INFO: A new request has arrived!
> .
> .
> .
> 
> This is exactly the same as above, just the extra
> entry tells, that the 
> process did not throw an exception.
> 
> When forwarding the next request to a JSP page
> referencing the tablib, 
> the error from before occurs. So there must be some
> problem for Tomcat 
> finding the TLD. The strange thing is that the JSTL
> sample class can be 
> found, and the c.tld library descriptor is inside.
> 
> I have no idea what else to try.
> 
> Out-of-Luck-Karsten
> 
> 
> Michael Duffy wrote:
> 
> > Hi Karsten:
> > 
> > I had this problem, too.  Shawn Bayern explained
> it
> > perfectly in a note that's in the archive.  Since
> it's
> > down right now, I'll do my best.
> > 
> > If you look in the standard.jar, you'll see that
> it
> > has the .tlds in its META-INF directory.  The
> > classloader will find them in the jar, since you
> have
> > it in your classpath.  There's no need to copy
> .tld
> > files anywhere.
> > 
> > If you look inside any of the .tlds, you'll see a
> > <uri> tag underneath <taglib> with
> > "http://java.sun.com/jstl/core" as its value. 
> This is
> > the string that you should have in your JSPs:
> > 
> > <%@ taglib uri="http://java.sun.com/jstl/core"
> > prefix="c" %>
> >  
> > I never put <taglib> in my web.xml file, in spite
> of
> > what the books all say.  They're already available
> in
> > the standard.jar.
> > 
> > When I set things up this way Tomcat has no
> problem
> > finding the standard tag libraries.  See if it
> helps
> > you, too. - MOD
> > 
> > 
> > --- Karsten Wutzke <kw...@starconcept.de> wrote:
> > 
> >>Hi all!
> >>
> >>I'm really going nuts with the JSTL
> installation...
> >>I only want to use 
> >>the core tag lib.
> >>
> >>I really did everything as described:
> >>
> >>1. Download the current version
> >>jakarta-taglibs-standard-current.zip
> >>from here:
>
>>http://www.apache.org/dist/jakarta/taglibs/standard/
> >>
> >>2. Unzip anywhere.
> >>
> >>3. Copy the c.tld tag library desciptor to
> >><mywebapp>/web/WEB-INF
> >>
> >>4. Copy the jstl.jar and standard.jar to
> >><mywebapp>/web/WEB-INF/lib
> >>
> >>Please note that I'm using Ant to build my
> >>application war file like this:
> >>
> >><target name="dist" depends="compile,manifest"
> >>description="Create WAR">
> >>   <war destfile="${dist.file}"
> >>webxml="${webxml.file}" 
> >>manifest="${manifest.file}">
> >>     <classes dir="${build.dir}"/>
> >>     <lib     dir="${lib.dir}" includes="*.jar"/>
> >>     <fileset dir="${web.dir}"
> >>excludes="WEB-INF/web.xml"/>
> >>   </war>
> >>   <!--unwar src="${dist.file}"
> >>dest="${dist.dir}"/-->
> >></target>
> >>
> >>This makes sure, that files and dirs in the web
> dir
> >>end up in the root 
> >>in the WAR file. I can verify this with the
> >>outcommented unwar task.
> >>
> >>5. Leave away any web.xml entries, since I'm using
> >>Tomcat 4.1.24.
> >>
> >>6. Place <%@ taglib
> >>uri="http://java.sun.com/jstl/core" prefix="c" %> 
> >>before the <html> tag in each JSP file wanting to
> >>access JSTL.
> >>
> >>However: IT DOES NOT WORK AT ALL...
> >>
> >>I get the following exception:
> >>
> >>
> >>HTTP Status 500 -
> >>
> >>type Exception report
> >>
> >>message
> >>
> >>description The server encountered an internal
> error
> >>() that prevented 
> >>it from fulfilling this request.
> >>
> >>exception
> >>
> >>org.apache.jasper.JasperException: This absolute
> uri
> >>
> >>(http://java.sun.com/jstl/core) cannot be resolved
> >>in either web.xml or 
> >>the jar files deployed with this application
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:105)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:430)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:154)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:159)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:354)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:381)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.compiler.Parser.parseElements(Parser.java:795)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.compiler.Parser.parse(Parser.java:122)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.ParserController.parse(ParserController.java:199)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.ParserController.parse(ParserController.java:153)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:227)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
> > 
> >>     at
> >>
> >>
> >
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
> > 
> >>     at java.lang.Thread.run(Thread.java:536)
> >>
> >>Apache Tomcat/4.1.24
> >>
> >>
> >>Looks like the server can't find the tag
> library...
> >>can't resolve the 
> >>URI. This is really bad. I sat all night for
> >>nothing, it's almost 6 AM 
> >>and I'm totally stuck on this.
> >>
> >>Where does the parser look for this URI? In the
> >>c.tld? Well, as I said 
> >>I'm using Ant, plus the new install, uninstall,
> >>deploy etc. tasks. I 
> >>realized that when using install, the c.tld is not
> >>expanded to the 
> >>server web app /WEB-INF dir, although it is in the
> >>WAR file. Copying the 
> >>c.tld to there manually unfortunately doesn't have
> >>any effect.
> >>
> >>Can anyone help??? I'd really like to use JSTL,
> Java
> >>code in JSP's is 
> >>not that great...
> >>
> >>Thanks!
> >>Karsten
> >>
> >>PS: Struts?
> >>
> >>
> >>
> >>
> >
>
---------------------------------------------------------------------
> > 
> >>To unsubscribe, e-mail:
> >>taglibs-user-unsubscribe@jakarta.apache.org
> >>For additional commands, e-mail:
> >>taglibs-user-help@jakarta.apache.org
> >>
> >>
> > 
> > 
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Calendar - Free online calendar with sync
> to Outlook(TM).
> > http://calendar.yahoo.com
> > 
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> taglibs-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail:
> taglibs-user-help@jakarta.apache.org
> > 
> > 
> 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> taglibs-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> taglibs-user-help@jakarta.apache.org
> 


__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com

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


Re: Going nuts with JSTL tag lib installation

Posted by Michael Duffy <du...@yahoo.com>.
Hi Karsten,

I can tell you that I'm using JSTL in exactly the way
you're describing, so it can be done.

Which servlet/JSP container are you using?  I use
Tomcat 4.1.24.  I put the all 11 jars that come in the
JSTL lib directory in the WEB-INF/lib directory of my
application, not in the server/lib or common/lib.

Can you deploy and run the standard-examples.war that
you downloaded with the standard tag library?  If I
put that war file in TOMCAT_HOME/webapps directory and
start the server, I can run examples for all the tag
libraries.  I KNOW that's deployed properly.  

If you can't run that, you've got a serious problem. 
If you can, it says your deployment still isn't
correct, and you'll have a template to compare your
stuff to.  Try it and see. - MOD


--- Karsten Wutzke <kw...@starconcept.de> wrote:
> I tried the things (both of) you mentioned, however
> it still doesn't 
> work, and I'm running out of ideas.
> 
> Here's the head of the front controller class I use
> for my index.jsp and 
> all other JSP's:
> 
> public class MainServletFC extends HttpServlet
> {
>      //a date and time format for each log file
>      private static final DateFormat df = new 
> SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
> 
>      private Logger l;
>      private Handler h;
> 
>      public MainServletFC()
>      {
>          //create logger for each front controller
> (for debugging)
>          //log file name is "fc-" + time of this
> class' instantiation
>          h = HandlerFactory.createHandler("fc-" +
> df.format(new Date()));
>          l = LoggerFactory.createLogger(this);
>          l.addHandler(h);
> 
>          l.info("Front controller instance
> created!");
> 
>          //get class path system property
>          String strClassPath =
> System.getProperty("java.class.path");
> 
>          l.info("Class path is '" + strClassPath +
> "'.");
> 
>          //try to instantiate a sample class
> instance from JSTL
>          try
>          {
>          Object o =
> Class.forName("javax.servlet.jsp.jstl.core.Config")
>                     .newInstance();
> 
>              l.info("Successfully created an
> instance of '" +
>                     o.getClass().getName() + "'.");
>          }
>          catch( Exception e )
>          {
>              l.info( e.toString() );
>          }
> 
>      }
> 
> 
>      public void doGet(HttpServletRequest req,
> HttpServletResponse res) 
> throws ServletException, IOException
> {
>          l.info("A new request has arrived!");
> .
> .
> .
> <do processing>
> 
> It never gets that far when having a tag lib
> descriptor in the index.jsp 
> file. When outcommenting those, processing runs
> through.
> 
> index.jsp:
> 
> <%@ taglib prefix="c"
> uri="http://java.sun.com/jstl/core" %>
> 
> <html>
> 
>    <head>
>      <title>TV Dieburg Basketball - Home</title>
>      <meta http-equiv="content-type"
> content="text/html; 
> charset=iso-8859-1">
>    </head>
> 
>    <body bgcolor="white" text="black" link="blue"
> vlink="navy" 
> alink="turquoise">
> 
>      <h3> <a href="index.jsp"         >Home</a>   
> </h3>
>      <h3> <a href="MainServletFC?home">Seasons</a>
> </h3>
> 
>    </body>
> 
> </html>
> 
> Requesting page
> http://localhost:8080/bluedemons/index.jsp leads to
> the 
> following log file:
> 
> 01.06.2003 18:23:03
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Front controller instance created!
> 01.06.2003 18:23:03
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Class path is 
>
'c:\dev\jdk1.4\lib\tools.jar;c:\dev\jakarta-tomcat\bin\bootstrap.jar'.
> 01.06.2003 18:23:03
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Successfully created an instance of 
> 'javax.servlet.jsp.jstl.core.Config'.
> 
>  From this, you can see that the sample class can be
> loaded and 
> instantiated, so the jstl.jar (and standard.jar) got
> loaded, though 
> these jars don't appear in the system property
> "java.class.path".
> 
> When commenting out the taglib tag in the jsp, the
> following log file is 
> generated:
> 
> 01.06.2003 18:35:07
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Front controller instance created!
> 01.06.2003 18:35:07
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Class path is 
>
'c:\dev\jdk1.4\lib\tools.jar;c:\dev\jakarta-tomcat\bin\bootstrap.jar'.
> 01.06.2003 18:35:07
> de.bluedemons.servlet.MainServletFC <init>
> INFO: Successfully created an instance of 
> 'javax.servlet.jsp.jstl.core.Config'.
> 01.06.2003 18:35:44
> de.bluedemons.servlet.MainServletFC doGet
> INFO: A new request has arrived!
> .
> .
> .
> 
> This is exactly the same as above, just the extra
> entry tells, that the 
> process did not throw an exception.
> 
> When forwarding the next request to a JSP page
> referencing the tablib, 
> the error from before occurs. So there must be some
> problem for Tomcat 
> finding the TLD. The strange thing is that the JSTL
> sample class can be 
> found, and the c.tld library descriptor is inside.
> 
> I have no idea what else to try.
> 
> Out-of-Luck-Karsten
> 
> 
> Michael Duffy wrote:
> 
> > Hi Karsten:
> > 
> > I had this problem, too.  Shawn Bayern explained
> it
> > perfectly in a note that's in the archive.  Since
> it's
> > down right now, I'll do my best.
> > 
> > If you look in the standard.jar, you'll see that
> it
> > has the .tlds in its META-INF directory.  The
> > classloader will find them in the jar, since you
> have
> > it in your classpath.  There's no need to copy
> .tld
> > files anywhere.
> > 
> > If you look inside any of the .tlds, you'll see a
> > <uri> tag underneath <taglib> with
> > "http://java.sun.com/jstl/core" as its value. 
> This is
> > the string that you should have in your JSPs:
> > 
> > <%@ taglib uri="http://java.sun.com/jstl/core"
> > prefix="c" %>
> >  
> > I never put <taglib> in my web.xml file, in spite
> of
> > what the books all say.  They're already available
> in
> > the standard.jar.
> > 
> > When I set things up this way Tomcat has no
> problem
> > finding the standard tag libraries.  See if it
> helps
> > you, too. - MOD
> > 
> > 
> > --- Karsten Wutzke <kw...@starconcept.de> wrote:
> > 
> >>Hi all!
> >>
> >>I'm really going nuts with the JSTL
> installation...
> >>I only want to use 
> >>the core tag lib.
> >>
> >>I really did everything as described:
> >>
> >>1. Download the current version
> >>jakarta-taglibs-standard-current.zip
> >>from here:
>
>>http://www.apache.org/dist/jakarta/taglibs/standard/
> >>
> >>2. Unzip anywhere.
> >>
> >>3. Copy the c.tld tag library desciptor to
> >><mywebapp>/web/WEB-INF
> >>
> >>4. Copy the jstl.jar and standard.jar to
> >><mywebapp>/web/WEB-INF/lib
> >>
> >>Please note that I'm using Ant to build my
> >>application war file like this:
> >>
> >><target name="dist" depends="compile,manifest"
> >>description="Create WAR">
> >>   <war destfile="${dist.file}"
> >>webxml="${webxml.file}" 
> >>manifest="${manifest.file}">
> >>     <classes dir="${build.dir}"/>
> >>     <lib     dir="${lib.dir}" includes="*.jar"/>
> >>     <fileset dir="${web.dir}"
> >>excludes="WEB-INF/web.xml"/>
> >>   </war>
> >>   <!--unwar src="${dist.file}"
> >>dest="${dist.dir}"/-->
> >></target>
> >>
> >>This makes sure, that files and dirs in the web
> dir
> >>end up in the root 
> >>in the WAR file. I can verify this with the
> >>outcommented unwar task.
> >>
> >>5. Leave away any web.xml entries, since I'm using
> >>Tomcat 4.1.24.
> >>
> >>6. Place <%@ taglib
> >>uri="http://java.sun.com/jstl/core" prefix="c" %> 
> >>before the <html> tag in each JSP file wanting to
> >>access JSTL.
> >>
> >>However: IT DOES NOT WORK AT ALL...
> >>
> >>I get the following exception:
> >>
> >>
> >>HTTP Status 500 -
> >>
> >>type Exception report
> >>
> >>message
> >>
> >>description The server encountered an internal
> error
> >>() that prevented 
> >>it from fulfilling this request.
> >>
> >>exception
> >>
> >>org.apache.jasper.JasperException: This absolute
> uri
> >>
> >>(http://java.sun.com/jstl/core) cannot be resolved
> >>in either web.xml or 
> >>the jar files deployed with this application
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:105)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:430)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:154)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:159)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:354)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:381)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.compiler.Parser.parseElements(Parser.java:795)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.compiler.Parser.parse(Parser.java:122)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.ParserController.parse(ParserController.java:199)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.compiler.ParserController.parse(ParserController.java:153)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:227)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> > 
> >>     at
> >>
> >>
> >
>
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
> > 
> >>     at
> >>
> >>
> >
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
> > 
> >>     at 
> >>
> >>
> >
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
> > 
> >>     at java.lang.Thread.run(Thread.java:536)
> >>
> >>Apache Tomcat/4.1.24
> >>
> >>
> >>Looks like the server can't find the tag
> library...
> >>can't resolve the 
> >>URI. This is really bad. I sat all night for
> >>nothing, it's almost 6 AM 
> >>and I'm totally stuck on this.
> >>
> >>Where does the parser look for this URI? In the
> >>c.tld? Well, as I said 
> >>I'm using Ant, plus the new install, uninstall,
> >>deploy etc. tasks. I 
> >>realized that when using install, the c.tld is not
> >>expanded to the 
> >>server web app /WEB-INF dir, although it is in the
> >>WAR file. Copying the 
> >>c.tld to there manually unfortunately doesn't have
> >>any effect.
> >>
> >>Can anyone help??? I'd really like to use JSTL,
> Java
> >>code in JSP's is 
> >>not that great...
> >>
> >>Thanks!
> >>Karsten
> >>
> >>PS: Struts?
> >>
> >>
> >>
> >>
> >
>
---------------------------------------------------------------------
> > 
> >>To unsubscribe, e-mail:
> >>taglibs-user-unsubscribe@jakarta.apache.org
> >>For additional commands, e-mail:
> >>taglibs-user-help@jakarta.apache.org
> >>
> >>
> > 
> > 
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Calendar - Free online calendar with sync
> to Outlook(TM).
> > http://calendar.yahoo.com
> > 
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> taglibs-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail:
> taglibs-user-help@jakarta.apache.org
> > 
> > 
> 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> taglibs-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> taglibs-user-help@jakarta.apache.org
> 



__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com

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


Re: Going nuts with JSTL tag lib installation

Posted by Karsten Wutzke <kw...@starconcept.de>.
I tried the things (both of) you mentioned, however it still doesn't 
work, and I'm running out of ideas.

Here's the head of the front controller class I use for my index.jsp and 
all other JSP's:

public class MainServletFC extends HttpServlet
{
     //a date and time format for each log file
     private static final DateFormat df = new 
SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");

     private Logger l;
     private Handler h;

     public MainServletFC()
     {
         //create logger for each front controller (for debugging)
         //log file name is "fc-" + time of this class' instantiation
         h = HandlerFactory.createHandler("fc-" + df.format(new Date()));
         l = LoggerFactory.createLogger(this);
         l.addHandler(h);

         l.info("Front controller instance created!");

         //get class path system property
         String strClassPath = System.getProperty("java.class.path");

         l.info("Class path is '" + strClassPath + "'.");

         //try to instantiate a sample class instance from JSTL
         try
         {
         Object o = Class.forName("javax.servlet.jsp.jstl.core.Config")
                    .newInstance();

             l.info("Successfully created an instance of '" +
                    o.getClass().getName() + "'.");
         }
         catch( Exception e )
         {
             l.info( e.toString() );
         }

     }


     public void doGet(HttpServletRequest req, HttpServletResponse res) 
throws ServletException, IOException
{
         l.info("A new request has arrived!");
.
.
.
<do processing>

It never gets that far when having a tag lib descriptor in the index.jsp 
file. When outcommenting those, processing runs through.

index.jsp:

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

<html>

   <head>
     <title>TV Dieburg Basketball - Home</title>
     <meta http-equiv="content-type" content="text/html; 
charset=iso-8859-1">
   </head>

   <body bgcolor="white" text="black" link="blue" vlink="navy" 
alink="turquoise">

     <h3> <a href="index.jsp"         >Home</a>    </h3>
     <h3> <a href="MainServletFC?home">Seasons</a> </h3>

   </body>

</html>

Requesting page http://localhost:8080/bluedemons/index.jsp leads to the 
following log file:

01.06.2003 18:23:03 de.bluedemons.servlet.MainServletFC <init>
INFO: Front controller instance created!
01.06.2003 18:23:03 de.bluedemons.servlet.MainServletFC <init>
INFO: Class path is 
'c:\dev\jdk1.4\lib\tools.jar;c:\dev\jakarta-tomcat\bin\bootstrap.jar'.
01.06.2003 18:23:03 de.bluedemons.servlet.MainServletFC <init>
INFO: Successfully created an instance of 
'javax.servlet.jsp.jstl.core.Config'.

 From this, you can see that the sample class can be loaded and 
instantiated, so the jstl.jar (and standard.jar) got loaded, though 
these jars don't appear in the system property "java.class.path".

When commenting out the taglib tag in the jsp, the following log file is 
generated:

01.06.2003 18:35:07 de.bluedemons.servlet.MainServletFC <init>
INFO: Front controller instance created!
01.06.2003 18:35:07 de.bluedemons.servlet.MainServletFC <init>
INFO: Class path is 
'c:\dev\jdk1.4\lib\tools.jar;c:\dev\jakarta-tomcat\bin\bootstrap.jar'.
01.06.2003 18:35:07 de.bluedemons.servlet.MainServletFC <init>
INFO: Successfully created an instance of 
'javax.servlet.jsp.jstl.core.Config'.
01.06.2003 18:35:44 de.bluedemons.servlet.MainServletFC doGet
INFO: A new request has arrived!
.
.
.

This is exactly the same as above, just the extra entry tells, that the 
process did not throw an exception.

When forwarding the next request to a JSP page referencing the tablib, 
the error from before occurs. So there must be some problem for Tomcat 
finding the TLD. The strange thing is that the JSTL sample class can be 
found, and the c.tld library descriptor is inside.

I have no idea what else to try.

Out-of-Luck-Karsten


Michael Duffy wrote:

> Hi Karsten:
> 
> I had this problem, too.  Shawn Bayern explained it
> perfectly in a note that's in the archive.  Since it's
> down right now, I'll do my best.
> 
> If you look in the standard.jar, you'll see that it
> has the .tlds in its META-INF directory.  The
> classloader will find them in the jar, since you have
> it in your classpath.  There's no need to copy .tld
> files anywhere.
> 
> If you look inside any of the .tlds, you'll see a
> <uri> tag underneath <taglib> with
> "http://java.sun.com/jstl/core" as its value.  This is
> the string that you should have in your JSPs:
> 
> <%@ taglib uri="http://java.sun.com/jstl/core"
> prefix="c" %>
>  
> I never put <taglib> in my web.xml file, in spite of
> what the books all say.  They're already available in
> the standard.jar.
> 
> When I set things up this way Tomcat has no problem
> finding the standard tag libraries.  See if it helps
> you, too. - MOD
> 
> 
> --- Karsten Wutzke <kw...@starconcept.de> wrote:
> 
>>Hi all!
>>
>>I'm really going nuts with the JSTL installation...
>>I only want to use 
>>the core tag lib.
>>
>>I really did everything as described:
>>
>>1. Download the current version
>>jakarta-taglibs-standard-current.zip
>>from here:
>>http://www.apache.org/dist/jakarta/taglibs/standard/
>>
>>2. Unzip anywhere.
>>
>>3. Copy the c.tld tag library desciptor to
>><mywebapp>/web/WEB-INF
>>
>>4. Copy the jstl.jar and standard.jar to
>><mywebapp>/web/WEB-INF/lib
>>
>>Please note that I'm using Ant to build my
>>application war file like this:
>>
>><target name="dist" depends="compile,manifest"
>>description="Create WAR">
>>   <war destfile="${dist.file}"
>>webxml="${webxml.file}" 
>>manifest="${manifest.file}">
>>     <classes dir="${build.dir}"/>
>>     <lib     dir="${lib.dir}" includes="*.jar"/>
>>     <fileset dir="${web.dir}"
>>excludes="WEB-INF/web.xml"/>
>>   </war>
>>   <!--unwar src="${dist.file}"
>>dest="${dist.dir}"/-->
>></target>
>>
>>This makes sure, that files and dirs in the web dir
>>end up in the root 
>>in the WAR file. I can verify this with the
>>outcommented unwar task.
>>
>>5. Leave away any web.xml entries, since I'm using
>>Tomcat 4.1.24.
>>
>>6. Place <%@ taglib
>>uri="http://java.sun.com/jstl/core" prefix="c" %> 
>>before the <html> tag in each JSP file wanting to
>>access JSTL.
>>
>>However: IT DOES NOT WORK AT ALL...
>>
>>I get the following exception:
>>
>>
>>HTTP Status 500 -
>>
>>type Exception report
>>
>>message
>>
>>description The server encountered an internal error
>>() that prevented 
>>it from fulfilling this request.
>>
>>exception
>>
>>org.apache.jasper.JasperException: This absolute uri
>>
>>(http://java.sun.com/jstl/core) cannot be resolved
>>in either web.xml or 
>>the jar files deployed with this application
>>     at 
>>
>>
> org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:105)
> 
>>     at 
>>
>>
> org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:430)
> 
>>     at 
>>
>>
> org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:154)
> 
>>     at 
>>
>>
> org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:159)
> 
>>     at 
>>
>>
> org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:354)
> 
>>     at
>>
>>
> org.apache.jasper.compiler.Parser.parseDirective(Parser.java:381)
> 
>>     at
>>
>>
> org.apache.jasper.compiler.Parser.parseElements(Parser.java:795)
> 
>>     at
>>
>>
> org.apache.jasper.compiler.Parser.parse(Parser.java:122)
> 
>>     at 
>>
>>
> org.apache.jasper.compiler.ParserController.parse(ParserController.java:199)
> 
>>     at 
>>
>>
> org.apache.jasper.compiler.ParserController.parse(ParserController.java:153)
> 
>>     at
>>
>>
> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:227)
> 
>>     at
>>
>>
> org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)
> 
>>     at 
>>
>>
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
> 
>>     at 
>>
>>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
> 
>>     at 
>>
>>
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> 
>>     at
>>
>>
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
> 
>>     at
>>
>>
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 
>>     at 
>>
>>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> 
>>     at 
>>
>>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> 
>>     at 
>>
>>
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> 
>>     at 
>>
>>
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> 
>>     at 
>>
>>
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> 
>>     at 
>>
>>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> 
>>     at 
>>
>>
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> 
>>     at 
>>
>>
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> 
>>     at 
>>
>>
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> 
>>     at 
>>
>>
> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
> 
>>     at 
>>
>>
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
> 
>>     at 
>>
>>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
> 
>>     at 
>>
>>
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
> 
>>     at 
>>
>>
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
> 
>>     at java.lang.Thread.run(Thread.java:536)
>>
>>Apache Tomcat/4.1.24
>>
>>
>>Looks like the server can't find the tag library...
>>can't resolve the 
>>URI. This is really bad. I sat all night for
>>nothing, it's almost 6 AM 
>>and I'm totally stuck on this.
>>
>>Where does the parser look for this URI? In the
>>c.tld? Well, as I said 
>>I'm using Ant, plus the new install, uninstall,
>>deploy etc. tasks. I 
>>realized that when using install, the c.tld is not
>>expanded to the 
>>server web app /WEB-INF dir, although it is in the
>>WAR file. Copying the 
>>c.tld to there manually unfortunately doesn't have
>>any effect.
>>
>>Can anyone help??? I'd really like to use JSTL, Java
>>code in JSP's is 
>>not that great...
>>
>>Thanks!
>>Karsten
>>
>>PS: Struts?
>>
>>
>>
>>
> ---------------------------------------------------------------------
> 
>>To unsubscribe, e-mail:
>>taglibs-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail:
>>taglibs-user-help@jakarta.apache.org
>>
>>
> 
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
> http://calendar.yahoo.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: taglibs-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: taglibs-user-help@jakarta.apache.org
> 
> 



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


Re: Going nuts with JSTL tag lib installation

Posted by Michael Duffy <du...@yahoo.com>.
Hi Karsten:

I had this problem, too.  Shawn Bayern explained it
perfectly in a note that's in the archive.  Since it's
down right now, I'll do my best.

If you look in the standard.jar, you'll see that it
has the .tlds in its META-INF directory.  The
classloader will find them in the jar, since you have
it in your classpath.  There's no need to copy .tld
files anywhere.

If you look inside any of the .tlds, you'll see a
<uri> tag underneath <taglib> with
"http://java.sun.com/jstl/core" as its value.  This is
the string that you should have in your JSPs:

<%@ taglib uri="http://java.sun.com/jstl/core"
prefix="c" %>
 
I never put <taglib> in my web.xml file, in spite of
what the books all say.  They're already available in
the standard.jar.

When I set things up this way Tomcat has no problem
finding the standard tag libraries.  See if it helps
you, too. - MOD


--- Karsten Wutzke <kw...@starconcept.de> wrote:
> Hi all!
> 
> I'm really going nuts with the JSTL installation...
> I only want to use 
> the core tag lib.
> 
> I really did everything as described:
> 
> 1. Download the current version
> jakarta-taglibs-standard-current.zip
> from here:
> http://www.apache.org/dist/jakarta/taglibs/standard/
> 
> 2. Unzip anywhere.
> 
> 3. Copy the c.tld tag library desciptor to
> <mywebapp>/web/WEB-INF
> 
> 4. Copy the jstl.jar and standard.jar to
> <mywebapp>/web/WEB-INF/lib
> 
> Please note that I'm using Ant to build my
> application war file like this:
> 
> <target name="dist" depends="compile,manifest"
> description="Create WAR">
>    <war destfile="${dist.file}"
> webxml="${webxml.file}" 
> manifest="${manifest.file}">
>      <classes dir="${build.dir}"/>
>      <lib     dir="${lib.dir}" includes="*.jar"/>
>      <fileset dir="${web.dir}"
> excludes="WEB-INF/web.xml"/>
>    </war>
>    <!--unwar src="${dist.file}"
> dest="${dist.dir}"/-->
> </target>
> 
> This makes sure, that files and dirs in the web dir
> end up in the root 
> in the WAR file. I can verify this with the
> outcommented unwar task.
> 
> 5. Leave away any web.xml entries, since I'm using
> Tomcat 4.1.24.
> 
> 6. Place <%@ taglib
> uri="http://java.sun.com/jstl/core" prefix="c" %> 
> before the <html> tag in each JSP file wanting to
> access JSTL.
> 
> However: IT DOES NOT WORK AT ALL...
> 
> I get the following exception:
> 
> 
> HTTP Status 500 -
> 
> type Exception report
> 
> message
> 
> description The server encountered an internal error
> () that prevented 
> it from fulfilling this request.
> 
> exception
> 
> org.apache.jasper.JasperException: This absolute uri
> 
> (http://java.sun.com/jstl/core) cannot be resolved
> in either web.xml or 
> the jar files deployed with this application
>      at 
>
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:105)
>      at 
>
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:430)
>      at 
>
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:154)
>      at 
>
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:159)
>      at 
>
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:354)
>      at
>
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:381)
>      at
>
org.apache.jasper.compiler.Parser.parseElements(Parser.java:795)
>      at
>
org.apache.jasper.compiler.Parser.parse(Parser.java:122)
>      at 
>
org.apache.jasper.compiler.ParserController.parse(ParserController.java:199)
>      at 
>
org.apache.jasper.compiler.ParserController.parse(ParserController.java:153)
>      at
>
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:227)
>      at
>
org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)
>      at 
>
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
>      at 
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
>      at 
>
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
>      at
>
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>      at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>      at 
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
>      at 
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>      at 
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
>      at 
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>      at 
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>      at 
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>      at 
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>      at 
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>      at 
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>      at 
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>      at 
>
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
>      at 
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
>      at 
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>      at 
>
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
>      at 
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>      at 
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
>      at 
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>      at 
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>      at 
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>      at 
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>      at 
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>      at 
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>      at 
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>      at 
>
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
>      at 
>
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
>      at 
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
>      at 
>
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
>      at 
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
>      at java.lang.Thread.run(Thread.java:536)
> 
> Apache Tomcat/4.1.24
> 
> 
> Looks like the server can't find the tag library...
> can't resolve the 
> URI. This is really bad. I sat all night for
> nothing, it's almost 6 AM 
> and I'm totally stuck on this.
> 
> Where does the parser look for this URI? In the
> c.tld? Well, as I said 
> I'm using Ant, plus the new install, uninstall,
> deploy etc. tasks. I 
> realized that when using install, the c.tld is not
> expanded to the 
> server web app /WEB-INF dir, although it is in the
> WAR file. Copying the 
> c.tld to there manually unfortunately doesn't have
> any effect.
> 
> Can anyone help??? I'd really like to use JSTL, Java
> code in JSP's is 
> not that great...
> 
> Thanks!
> Karsten
> 
> PS: Struts?
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> taglibs-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> taglibs-user-help@jakarta.apache.org
> 


__________________________________
Do you Yahoo!?
Yahoo! Calendar - Free online calendar with sync to Outlook(TM).
http://calendar.yahoo.com

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