PatrickStasch
I'm new here

Custom TagLib in der FistSpirit Preview (local) verwenden

Jump to solution

Hallo,

Ich habe ein kleines Problem mit den TagLibs und der FirstSpirit.

Ich habe mir bereits das Tutorial für das anlegen von WebApp's in der FirstSpirit angeschaut

und auch dieses hier durch gelesen https://community.e-spirit.com/community/developer/blog/2010/07/13/jsp-tag-files-in-der-preview-verf...

Leider möchte meine Custom TagLib nicht von mir in der Preview angesprochen werden und ich verstehe nicht warum.

Hier kurz die Struktur:

- FirstSpirit Modul

- eine WebApp (example-web-jar)

Die example-web-jar liegt nach einem build in dem FirstSpiritModul.fsm unter lib/ als JAR, diese JAR enthält einen Ordner META-INF/ wo die TLD liegt.

Das FirstSpirit Modul hat eine module.xml welche in der FSM unter META-INF/ liegt.
Diese module.xml enthält einen part der wie folgt aussieht:

<web-app>

<name>example-web-jar</name>

<displayname>example-web-jar</displayname>

<web-xml>web.xml</web-xml>

<web-resources>

<resource minVersion="1.0" version="2.0" name="de.foo.bar:example-web-jar">lib/example-web-jar-2.0.jar</resource>

</web-resources>

</web-app>

Hier noch die TLD ( enthält mehrere tags) beispielhaft:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">

<taglib>

    <tlib-version>1.0</tlib-version>

    <jsp-version>2.0</jsp-version>

    <short-name>example</short-name>

    <uri>http://www.example.de/web/tag/test</uri>

    <display-name>Example TagLib</display-name>

<tag>

        <name>tag1</name>

        <tag-class>absolute.path.to.class</tag-class>

        <body-tag1>scriptless</body-content>

        <attribute>

            <name>var1</name>

            <required>true</required>

        </attribute>

        <attribute>

            <name>var2</name>

            <required>true</required>

        </attribute>

    </tag>

<tag>

        <name>tag2</name>

        <tag-class>absolute.path.to.class</tag-class>

        <body-tag1>scriptless</body-content>

        <attribute>

            <name>var1</name>

            <required>true</required>

        </attribute>

        <attribute>

            <name>var2</name>

            <required>true</required>

        </a

Jetzt habe ich alles brav auf den FirstSpirit Server installiert und aktualisiert
und möchte die taglib ansprechen mit

<%@ taglib prefix="testen" uri="http://www.example.de/web/tag/test] " %>

leider bekomme ich dann in der Preview aber gesagt:

The absolute uri: [http://www.example.de/web/tag/test] cannot be resolved in either web.xml or the jar files deployed with this application

Ich habe auch versucht die URI abzuändern auf einen "normalen" String dann bekomme ich eine leicht andere Fehlermeldung

org.apache.jasper.JasperException: Unable to find taglib [testen] for URI: [normalerString]

Habt ihr vielleicht eine Idee oder sieht jemand was ich falsch mache ?

Ich habe das ganze mal schnell auf einen lokalen webserver ausprobiert dort gibt es keine Probleme mit dem finden der TLD, daher vermute ich das ich irgendwo einen
Struktur fehler habe.

Zusatzinfo: Kurioser weise funktioniert die tagLib auf unserem integrationssystem ohne Probleme.

0 Kudos
1 Solution

Accepted Solutions
PatrickStasch
I'm new here

Ich habe das Problem lösen können

und zwar indem ich zusätzlich zu dem "Standard" Jetty ein neuen Jetty Server hinzugefügt habe.

Name - Webserver

InternalJetty - Internal

MeinTollerJetty - Jetty Web Server

Auf dem "MeinTollerJetty" funktioniert die Verwendung der JSP in der Preview reibungslos.

View solution in original post

0 Kudos
1 Reply
PatrickStasch
I'm new here

Ich habe das Problem lösen können

und zwar indem ich zusätzlich zu dem "Standard" Jetty ein neuen Jetty Server hinzugefügt habe.

Name - Webserver

InternalJetty - Internal

MeinTollerJetty - Jetty Web Server

Auf dem "MeinTollerJetty" funktioniert die Verwendung der JSP in der Preview reibungslos.

0 Kudos