Laufende Tag-Bibliothek aus älterer Tomcat-Version

8

Zuerst etwas Hintergrund.

Ich entwickle eine Webanwendung. Diese Anwendung wird als eine Erweiterung einer kommerziellen Webanwendung eines Drittanbieters installiert. Die dritte Partei bietet ein SDK für unsere Anwendung, um mit der Haupt-Webanwendung zu interagieren. Daher haben wir keine Kontrolle über die Umgebung, in der unsere Anwendung ausgeführt wird. Wir sind der Drittanbieteranwendung ausgeliefert.

Jetzt für das Problem.

Unsere Anwendung packt eine benutzerdefinierte Tag-Bibliothek, die von unseren JSPs verwendet wird. Es ist eine Anforderung der Drittanbieteranwendung, dass nur vorkompilierte JSPs ausgeliefert werden. Wir haben kein Problem damit, die JSPs zusammen mit den notwendigen .tag-Dateien zu kompilieren.

Die dritte Partei hat eine neue Version ihrer Software herausgebracht. Wir sollen ein reibungsloses Upgrade unserer Erweiterung von der alten Version ihrer Software auf die neue Version unterstützen.

Die alte Version der Drittanbieter-Software läuft auf Tomcat 5.5. Unsere JSPs werden mit dem Tomcat 5.5 JSP-Compiler erstellt. Die neue Version läuft auf Tomcat 7. Nach dem Upgrade läuft unsere Erweiterung noch, außer dass die Tags nicht korrekt ausgewertet werden.

Die Tags geben das korrekte HTML aus, jedoch scheinen alle Attribute, die an die Tags übergeben werden, verloren zu gehen.

Als Beispiel habe ich ein einfaches Test-Tag erstellt:

%Vor%

Dies wird in der JSP als solches verwendet:

%Vor%

Auf Tomcat 5.5 wird es ausgewertet und erzeugt folgendes:

%Vor%

Allerdings wird beim Ausführen von Tomcat 7 derselbe Code ausgegeben, der HTML-Code wird ausgegeben, das Attribut jedoch nicht. Beachten Sie, dass ${testValue} verarbeitet, aber durch einen leeren Wert ersetzt wird, nicht durch den angegebenen Wert.

%Vor%

Wenn ich denselben Code mit dem Tomcat 7 Compiler kompiliere, funktioniert es wieder.

%Vor%

Offensichtlich wird die mit dem Tomcat 7 JSP Compiler erstellte Version nicht auf der alten Version laufen. Da der Tomcat 5.5-Build nicht auf der neuen Version läuft, haben wir keinen fließenden Übergang.

Ich habe ein paar Wochen lang online gestöbert, um eine Erwähnung dieses Themas oder etwas Ähnliches zu finden, und habe mir wenig einfallen lassen. Zumindest nichts, was mich zu einer Lösung geführt hat.

Gibt es ein bekanntes Problem beim Ausführen von Tags, die mit dem Tomcat 5.5-Compiler auf Tomcat 7 kompiliert wurden? Gibt es eine magische Beschwörung, die ich singen muss?

Einige zusätzliche Informationen:

Wir bauen mit Maven. Die relevanten Teile der Pom:

%Vor%

Erstellt mit dem antrun-Plugin:

%Vor%     
Dave Rager 25.04.2014, 20:04
quelle

1 Antwort

1

Ich denke, das Beste ist, dass Sie wahrscheinlich eine Tomcat 7-Testbox installieren und Ihre Anwendung so einstellen, wie sie ist. Lassen Sie es auf 7 arbeiten und ersetzen Sie dann sogar die Produktions-Box der alten Version durch Tomcat 7. Als ich das tat, hatte ich auch ein Problem mit Tags von Tomcat 5.5 zu Tomcat 7, aber ein einfacheres.

Ich musste mich ändern:

%Vor%

zu:

%Vor%

Doppelte Anführungszeichen für einzelne, wo ich einen Anfrageparameter in einen Attributwert druckte und offensichtlich doppelte Anführungszeichen im Code innerhalb des Attributwerts verwenden musste. So oder so funktioniert es in Tomcat 5.5, aber nur das zweite funktioniert in 7.

    
developerwjk 25.04.2014 20:44
quelle

Tags und Links