2016-06-10 4 views
0

In der alten Art und Weise, sie WEB-INF/xxx.tld benutzerdefinierten taglib Beschreibungsdatei gesetzt und JSP-Dateien laden Sie diese Datei mit <%@taglib prefix="xxx" uri="/META-INF/xxx.tld"%>wo .tld-Datei zu setzen, während Frühjahr Boot mit und mit vollständig Java-Code configged

Wenn wir Spring starten und die Anwendung komplett mit Java-Code konfigurieren (keine web.xml, xxx-servlet.xml usw.), wo wird es hingestellt?

unter Ressourcen/WEB-INF? oder Ressourcen/META-INF?

+0

Welchen Container verwenden Sie? Wie verpacken Sie Ihre App (Krieg? Glas?) –

+0

@BrianClozel Ich werde Tomcat verwenden und die App in den Krieg zu packen – Jason

Antwort

0

Solange Sie sich der verschiedenen bewusst sind, bleibt Spring Boot so viel wie möglich auf dem "alten Weg".

In diesem speziellen Fall glaube ich nicht, dass Spring Boot beim Laden von benutzerdefinierten TLDs überhaupt beteiligt ist, sondern eher die Aufgabe des Containers. Fühlen Sie sich frei, es in regulären WAR-Anwendungen zu platzieren und ein Problem mit einem Repro-Projekt an das Spring Boot-Team zu melden, falls dies nicht funktioniert.

+0

Ich fand das Kriegspaket würde sowieso einen "WEB-INF" Ordner erstellen, also habe ich "xxx .tld "unter dem Ressourcen-Ordner, und ändern Sie die Taglib-Ankündigung in <% @ taglib Präfix =" xxx "uri ="/WEB-INF/classes/xxx.tld "%>, es gibt keinen Kompilierfehler in STS (nicht getestet, ob es nach dem Laufen gut funktioniert), nicht sicher, ob dies richtig ist – Jason

1

Legen Sie einfach Ihre Datei in/src/main/webapp/WEB-INF/und verweisen Sie von Ihrem JSP mit der URI.

Beispiel TLD in/src gelegen/main/webapp/WEB-INF/

<?xml version="1.0" encoding="UTF-8"?> 
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 
    version="2.0"> 

    <description>Example Tag Library</description> 
    <tlib-version>4.0</tlib-version> 
    <short-name>example</short-name> 
    <uri>http://www.example.org/tags</uri> 

    <tag> 
     <name>exampleTag</name> 
     <tag-class>com.example.taglib.ExampleTag</tag-class> 
     <body-content>empty</body-content> 
    </tag> 
</taglib> 

Beispiel Ihre Tag-Bibliothek aus einer JSP-Datei verweisen:

<%@ taglib prefix="ex" uri="http://www.example.org/tags"%> 

Und natürlich mit Ihre benutzerdefinierten Tags:

<ex:exampleTag /> 

Hoffe es hilft!

Verwandte Themen