MVC Database Image Display Frühjahr
-
22-07-2019 - |
Frage
Im Rahmen einer MVC-Anwendung (mit Spring MVC in diesem Fall), da ich einige Bildpfade in einem DB gespeichert habe. Wie kann ich diese in der Ansicht angezeigt werden?
Ist es die Controller Aufgabe, sie zu laden und sie dann auf die Ansicht übergeben? Wenn ja, wie geschieht dies in Spring MVC JSP mit?
Danke
Lösung
Es könnte die Steuerung Job sein, um sie als Teil des Modells zur Ansicht übergeben, aber ich denke, es ist die Aufgabe der Service-Schicht mit dem Erwerb das Bildes zu behandeln.
UPDATE: Juregen Höller zeigt Ihnen, wie es mit kommentierten Controllern zu tun? hier .
Andere Tipps
Es hängt wirklich davon ab, wie die tatsächlichen Bilder werden erfasst und was sie für verwendet.
Wenn Sie ein Foto-Sharing-Website bauen, zum Beispiel, wo die Bilder sind Bürger erster Klasse s, ich stimme voll und ganz mit duffymo 's Antwort -. sie sollten durch Service-Schicht und ein Teil des Modells geladen werden
Wenn auf der anderen Seite, Bilder in Frage in der Natur rein Präsentations- und sind als öffentliche Bilder innerhalb Ihrer Web-App (zum Beispiel können Sie den Status einiger Prozess als rot / gelb / grün Licht angezeigt wird), Sie können sie direkt in Sicht machen. Natürlich, es ist ziemlich seltsam tatsächliche Bildpfade in der Datenbank in diesem Szenario zu halten -. Ich eher Bildpfad statt irgendwo in dem Ressourcenbündel gespeichert würde ich vorstellen würde
den zweiten Ansatz verwenden, vermutlich Bildpfade Sie einige „Basis“ sind relativ haben Ordner und Vollbildpfad so etwas wie ${prefix}/${base}/${imagePath}
wäre:
-
prefix
, abhängig von Ihrer Deployment-Konfiguration, entweder explizit irgendwo in der Konfiguration angegeben ist (falls Sie einen dedizierten Bildserver, zum Beispiel) oder als/context
so einfach sein, wocontext
Pfad, unter dem Ihr Webapp eingesetzt wird (wenn alles von einem einfachen Server, ohne Load Balancing serviert, etc ...) -
base
von der Konfiguration genommen würde (oder kann leer sein) -
imagePath
ist, was man aus dem Modell erhalten
Rendering-Bild Pfad direkt über JSP sollte den oben beschriebenen Ansatz seine trivial verwendet wird.