ich brauche, um zu bestimmen, ob ein Bild in einem JSP-Tag vorhanden ist, damit ich eine Standard anzeigen kann, wenn es nicht existiert. Was ist der beste Weg, um auf den War-Stamm zuzugreifen, damit ich prüfen kann, ob das Bild existiert? Oder gibt es eine bessere Lösung?Wie greife ich auf den Stamm eines WAR zu?
Antwort
Die ServletContext
Methode getResource für Funktionen wie diese verwendet werden können. Wenn die Ressource (das Bild) nicht existiert, gibt diese Methode null
zurück. In diesem Fall kann ein Standardbild angezeigt werden.
Beachten Sie, dass die URL diese Methode ist nicht die URL als „src“ -Attribut zu verwenden, in einem <img>
-Tag. Es ist sehr wahrscheinlich eine file:
oder jar:
Protokoll URL, die keinen Sinn auf einem anderen Host machen würde. In dieser Anwendung wird nur getestet, ob es null
ist, und nicht tatsächlich von der JSP.
Beachten Sie auch, gibt es keine Garantie, dass der Web-Container WAR-Datei ist explodiert, so dass Sie auf dem Dateisystem spähen vermeiden sollten.
Wäre es eine Option sein, die Liste der verfügbaren Bilder bei Bereitstellungszeit zu generieren?
Das Endziel ist nur zu sehen, ob ein Bild existiert, ansonsten wird ein Standard angezeigt, damit das funktioniert. – Joshua
- 1. Wie greife ich auf Klassenvariablen eines Elternobjekts in PHP zu?
- 2. Wie greife ich auf RouteTable.Routes.MapHttpRoute zu?
- 3. Wie greife ich auf die Schlüssel eines NSMutableDictionary zu?
- 4. Wie greife ich auf jeden Wert eines JSON-Objekts zu?
- 5. Wie greife ich in Haskell auf den Graphics.Gloss-Ereignistyp zu?
- 6. Wie greife ich auf den Halo bei einem Klickereignis zu?
- 7. Evernote Windows SDK - Wie greife ich auf den UserStore zu?
- 8. Wie greife ich von einem ActionFilter auf den ModelState zu?
- 9. Wie greife ich von IDLE auf den Befehlsverlauf zu?
- 10. WPF-Datenbindung: Wie greife ich auf den Datenkontext "Eltern" zu?
- 11. Wie greife ich auf ng-Inhalte zu?
- 12. Wie greife ich auf diese Variable zu?
- 13. Wie greife ich auf Vorlagencache zu? - Django
- 14. Wie greife ich mit MLMediaLibrary und Swift auf macOS auf den Titel eines iTunes-Songs zu?
- 15. Wie greife ich auf die Kamera zu?
- 16. Wie greife ich auf den Inhalt eines Submoduls in github zu?
- 17. Wie greife ich auf den Text einer ausgewählten BoundColumn eines DataGrid zu?
- 18. Wie greife ich aus meiner benutzerdefinierten Ansicht auf layout_height zu?
- 19. Wie greife ich auf Befehlszeilenargumente in SICStus Prolog zu?
- 20. Wie greife ich auf Video-Ausgabefunktionen auf iOS zu?
- 21. Wie greife ich auf Android-Smartphones auf die Kamera zu?
- 22. Wie greife ich auf alle Fensterobjekte einer Chrome-Erweiterung zu?
- 23. In einem Servlet-Mapping in Spring MVC wie ordne ich den Stamm eines URL-Musterverzeichnisses zu?
- 24. Wie greife ich auf eine GridView innerhalb eines Repeaters innerhalb eines Repeaters zu (Nested Repeater)
- 25. Wie greife ich auf eine Variable innerhalb von preg_replace_callback zu?
- 26. Wie greife ich auf den ersten Nicht-Null-Begriff einer Liste in Java zu?
- 27. Wie greife ich auf einen Eintrag in einem Seriendruckdokument zu?
- 28. Wie greife ich über den Kynetx-E-Mail-Endpunkt auf den Nachrichtentext zu?
- 29. Wie greife ich auf die Magento-Systemkonfiguration zu?
- 30. Wie greife ich vom Internet auf meine Website (IIS) zu?
Das einzige Problem ist, dass der Web-Framework verwenden wir gezwungen sind, den Zugriff auf den ServletContext versteckt. – Joshua
Wirklich? Welcher Rahmen? Sinnvolle Frameworks bieten weiterhin Zugriff auf Anwendungs-, Sitzungs- und Anforderungsbereiche, indem sie in eine Art Abstraktion eingebettet werden. Es gibt Kludges, die Sie tun können, wenn Ihr Framework wirklich so begrenzt ist. – erickson
Beachten Sie das Wort "gezwungen". Sensible Frameworks werden den Entwicklern nicht aufgezwungen. Entwickler wählen sie, weil sie vernünftig sind. – Joshua