---
title: "Jakarta Tag-Library"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/51665-jakarta-tag-library"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Jaar"
published: "2002-08-29T13:46:27.000Z"
updated: "2002-08-30T06:46:08.000Z"
replies: 3
views: 374
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/51665-jakarta-tag-library"
---

# Jakarta Tag-Library

## #1 — Jaar, 2002-08-29T13:46Z

Hm, jag är rätt ny på det här med tag-librarys och har lite problem att få till det. Jag laddade hem Jakarta versionen av JSTL för att testa, men får inte till det, tycker ofta att det är väldigt flummig dokumentation.

Normalt kör jag Oracles standard installation med apache så jag brukar inte dola med webservern. Nu har jag dock kört in Tomcat (som fungerar) och tänkte testa tag-libs.

Det jag har gjort är följande.

1\. Ladda hem allt och lade Jar filerna under 
c:\\program\\apache tomcat 4.0\\webapps\\ROOT\\WEB-INF\\lib
tdl filerna under
c:\\program\\apache tomcat 4.0\\webapps\\ROOT\\WEB-INF\\
sen har jag en index.jsp fil under 
c:\\program\\apache tomcat 4.0\\webapps\\test\\index.jsp

2\. Min index.jsp fil innehåller bara detta:
\<%@ taglib uri="http://jakarta.apache.org/taglibs/c" prefix="tlib" %\>

3\. web.xml i WEB-INF katalogen (nämn ovan) är modifierad till

```
<?xml version="1.0" encoding="ISO-8859-1"?>

<!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>
  <taglib>
    <taglib-uri>[url]http://jakarta.apache.org/taglibs/c[/url]</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
  </taglib>
</web-app>
```

jar-filen ska hittas automatiskt har jag hört iom att det är JSP 1.2. 
När jag öppnar min index.jsp fil får jag följande fel...

```
type Exception report

message Internal Server Error

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

exception 

org.apache.jasper.JasperException: This absolute uri ([url]http://java.sun.com/jstl/core[/url]) cannot be resolved in either web.xml or the jar files deployed with this application
	at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:194)
	at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:174)
	at org.apache.jasper.compiler.JspParseEventListener.processTaglibDirective(JspParseEventListener.java:1170)
	at org.apache.jasper.compiler.JspParseEventListener.handleDirective(JspParseEventListener.java:765)
	at org.apache.jasper.compiler.DelegatingListener.handleDirective(DelegatingListener.java:125)
	at org.apache.jasper.compiler.Parser$Directive.accept(Parser.java:255)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:1145)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:1103)
	at org.apache.jasper.compiler.Parser.parse(Parser.java:1099)
	at org.apache.jasper.compiler.ParserController.parse(ParserController.java:214)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:210)
	at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:548)
	at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:176)
	at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:188)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
	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:243)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
	at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
	at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
	at java.lang.Thread.run(Unknown Source)
```

Vad gör man?! Jag har som sagt inte så stor koll på det hela...

Permalänk: https://www.webforum.nu/p/51665

## #2 — Jörgen HP, 2002-08-29T13:54Z

Hej!

Jag har ej använt taglibs själv, men kan inte länkarna i denna tråden vara till nytta?

<http://www.webforum.nu/showthread.php?postid=411670#post411670>

mvh Jörgen HP

Permalänk: https://www.webforum.nu/p/765259

## #3 — Viktor, 2002-08-29T15:07Z

Jag tror att det löser sig om du ändrar din URI från en URL till ett vanligt namn. typ

```
  <taglib>
    <taglib-uri>/c</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
  </taglib>
```

Och skriver såhär i din JSP fil

```
<%@ taglib uri="/c" prefix="tlib" %>
```

/Viktor

Permalänk: https://www.webforum.nu/p/765324

## #4 — Jaar, 2002-08-30T06:46Z

Ok, har fått hjälp av andra också, men fick det inte att fungera så som det var tänkt...

Min lösning:
packa upp Jar filerna till /WEB-INF/lib
tdl filerma till /WEB-INF
I min index.jsp skrev jag bara: \<%@ taglib prefix="c" uri="/WEB-INF/c.tld" %\>

Jag har inte fått något fel men jag har inte testat någon tag ännu, men filerna hittas iaf.

Sist i mitt inlägg klistrar jag in hjälp från en annan lista...

TLD FILES
\---------------------------------
c-rt.tld
c.tld
fmt-rt.tld
fmt.tld
sql-rt.tld
sql.tld
x-rt.tld
x.tld 

JAR FILES
\---------------------------------
dom.jar
jaxen-full.jar
jaxp-api.jar
jdbc2_0-stdext.jar
jstl.jar
sax.jar
saxpath.jar
standard.jar
xalan.jar
xercesImpl.jar

*Since you're using a JSP 1.2 container (Tomcat 4), this is all you have
to do (assuming the JAR files contains the TLD file, and that the TLD
contains a default URI declaration, but that's usually the case for
Jakarta libraries). When you start the container, it looks through all
files under WEB-INF to locate all tag libraries. As long as you use the
default URI for the library in your taglib directive, it's able to
figure out which library you refer to. For instance, if you have
installed the Jakarta Standard library (the JSTL reference
implementation), a taglib directive like this makes the JSTL core
library available within the page:

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

\> The tld files into my webapps/ROOT/WEB-INF catalog.

No need to install the TLD files; they are already part of the JAR files
and web container will find them there.

\> Then I am suppost to change my web.xml file I guess. \[...\]

No, that's not necessary when you use a JSP 1.2 container, see above.

\> Since I don't have done anything else (changed classpath or anything) I
\> guess I might have to do that to?

No need to change the classpath. You have placed the JAR files in the
WEB-INF/lib directory, which is already part of the containers
classpath.*

Permalänk: https://www.webforum.nu/p/768526

---

Tråden på webben: https://www.webforum.nu/amne/java/51665-jakarta-tag-library
