Struts-Web-Tools bieten in Version 6.0 keine Unterstützung für die Struts-EL-Tagbibliothek.
Version 2.4 der Servletspezifikation erfordert einen führenden Schrägstrich (/) für Ressourcenpfade. Ein führender Schrägstrich (/) war in Version 2.3 nicht erforderlich. Aus diesem Grund kommt es bei Struts-Anwendungen (oder anderen Webanwendungen), die für einen Container der Version 2.3 (z. B. WebSphere Application Server Version 5) korrekt ausgeführt wurden, bei Containern der Version 2.4 (z. B. WAS V6) zu Problemen, wenn auf der Basis einer Pfadangabe ohne einen führenden Schrägstrich (/) nach einer Ressource gesucht wird.
In diesem Fall erhalten Sie folgende Ausnahmebedingung:
MalformedURLException: SRVE0238E: Resource paths should have a leading slash
(MalformedURLException: SRVE0238E: Ressourcenpfade müssen über einen führenden Schrägstrich verfügen)
Das Problem wird nicht durch die Struts-Tools verursacht, sondern durch die Struts-Konfigurationselemente, die auf Ressourcen mit Pfaden ohne einen führenden Schrägstrich (/) verweisen.Struts-Konfigurationsdateien werden z. B. im Implementierungsdeskriptor (
/WEB-INF/web.xml
) als Elementeinit-param
des Struts-ActionServlet-Elements angegeben, bei denen für die Angabeparam-name
am Anfang config definiert ist.Der Wert fürparam-value
gibt bei allen diesen Elementen einen Pfad zur Struts-Konfigurationsdatei an. Vergewissern Sie sich, dass alle Werte fürparam-value
einen führenden Schrägstrich (/) aufweisen. Darüber hinaus müssen Sie auch sicherstellen, dass alle kontextrelativen Pfade, die in den Struts-Konfigurationsdateien angegeben sind, ebenfalls einen führenden Schrägstrich (/) enthalten.
Beim Bearbeiten der Struts-Konfigurationsdatei kommt es beim Hinzufügen von Symbolattributen zu den Formbeans- oder GlobalForward-Einträgen zu Ausnahmebedingungen wegen Nullzeigern, die in der Protokolldatei ausgegeben werden. Diese Probleme bleiben solange bestehen, bis die Symboleinträge aus der Konfigurationsdatei entfernt werden und die Workbench des Produkts erneut gestartet wird.
Bei Verwendung des Editors für Webdiagramme können Artefakte Abhängigkeiten zum URL-Muster des Faces-Servlet nicht realisieren.
Für die Struts-Tools muss im Implementierungsdeskriptor mindestens eine Konfigurationsdatei angegeben werden. Dies steht im Gegensatz zum Laufzeitverhalten, wo standardmäßig zur Verarbeitung die Datei "struts-config.xml" verwendet wird, wenn im Implementierungsdeskriptor keine gegenteilige Angabe gemacht wurde. Für alle Struts-Projekte, die in Rational Developer erstellt werden, ist eine Konfigurationsdatei angegeben.
Für eine Untermenge der verfügbaren Links, bei denen die Auflösung über die Struts-Tools durchgeführt wird, muss das EAR-Projekt über ein Modul verfügen, das das Struts-Projekt enthält. Die EAR-Modulprojektergänzung wird standardmäßig mit Hilfe von Projektassistenten erstellt.
Diagramme, die mit einem Betaversionstufencode der Version 6 auf einer Maschine mit einer nicht-englischen NLS-Einstellung erstellt wurden, können mit Hilfe des Version 6-Produkts nicht geöffnet werden. Das Problem kann wie folgt umgangen werden. Das Diagramm muss neu erstellt werden.
Beim Aufrufen des Aktionszuordnungsassistenten (ActionMapping Wizard, AMW) oder des Formbeanzuordnungsassistenten (FormBean Mapping Wizard, FBW) in einem Modus, der die Auswahl des Modulkontexts erlaubt, in dem die Zuordnung platziert werden soll, wird potenziell eine Generierung von falschen Java-Klassen verursacht. Das Problem wird ausgelöst, wenn der Benutzer im Dropdown-Menü der Konfigurationsdateien eine andere Struts-Konfigurationsdatei auswählt als diejenige, die standardmäßig vom Assistenten vorgeschlagen wird.
Gehen Sie wie folgt vor, um Assistenten ohne einen Modulkontext aufzurufen:
- Klicken Sie auf Datei > Neu > Andere.
- Drücken Sie anschließend STRG N.
Durch das Aufrufen dieser Assistenten über den Webdiagrammeditor oder durch Auswählen des Struts-Moduls im Projektexplorer unter Verwendung der Kontextmenüoptionen Neu > AMW/FBW erhält der Assistent einen Struts-Modulkontext, der nicht geändert werden kann, und das Problem tritt nicht auf.