| 

.NET C# Java Javascript Exception

Rückgabe einer Liste von Images

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Rückgabe einer Liste von Images

davidk - 13.10.2010 14:56
Hallo zusammen,

ich möchte gerne eine Liste von Bilder zurückgeben um die in einer JQuery-Bildergallerie zu linken.

Ein einzelnes Bild ist kein Problem und das mache ich so:
Language: Groovy
def renderProfileImage = { ....... response.setContentLength(profileInstance.profileImage.image.length) response.outputStream.write(profileInstance.profileImage.image)
Language: HTML
<img src="<g:createLink controller='profile' action='renderProfileImage' ... />" />

Ich hatte vor ein Closure zu schreiben, in dem u.a. eine Liste von response-Objects überbe.
Aber sobald ich das tue wird nur das Bild (auch nur eins) gerendered und ein Zugriff auf weitere Properties
ist nicht möglich. Die GSP zu dem Colsure bleibt unberührt


Hat jmd eine Idee ?

Viele Grüße
David


Re: Rückgabe einer Liste von Images

xenji - 13.10.2010 23:50
Hey David,

warum schreibst Du Dir kein eigenes Tag dafür? Das Tag bekommt eine Collection übergeben und den createLink Tag kannste Du Dir per DI in Deinen Tag holen und die Methode mehrfach aufrufen. Damit hast Du des sogar wiederverwendbar und sauber getrennt ;)

Grüße,
xen.


Re: Rückgabe einer Liste von Images

davidk - 14.10.2010 01:00
Hallo Xen,

danke für Deine Antwort, darauf bin ich selber nicht gekommen. Habe bisher nur nach einer native Lösung gesucht Bilder aus dem Speicher als Liste zu übergeben.

Aber wenn ich das mache generiere ich eine Menge an controller-Anfragen durch die createLink's.
Scheint mir nicht die performanteste Lösung zu sein. Oder liege ich da Falsch?

Falls jmd weiss ob oder wie ich Images, die ich als Flobs aus der DB kriege in die responsemap als Image-Liste
schreiben kann, wäre ich sehr interessiert.
Falls es nicht geht, bitte auch bescheid sagen :)


Gruß
David


Re: Rückgabe einer Liste von Images

milkyman - 14.10.2010 11:19
Selbst wenn man die vielen Images in die Response reinbringen kann, würde ich das niemals nie machen. Die Datenmenge wird unkontrolliert zu riesig.

Der hier schon vorgeschlagene Ansatz mit den vielen Controller-Aufrufen ist schon richtig. Die Performance des request/reply sehe ich nicht als so kritisch an. Wichtiger scheint mir, das sauber getrennt zu haben und dann pro Request genau ein Bild zu ziehen.

Ein eigenes TAG kann sein, muss aber nicht. Ich hab ehrlich gesagt in all den Jahren noch kein eigenes TAG erstellen müssen.
(ok, das muss jetzt nicht unbedingt für mich sprechen ;-)

Das wesentliche Prinzip ist und bleibt:
a) erst ein Request an den Controller, der gibt die Liste der Bilder in Form von URLs, IDs o. ä. zurück
b) dann pro Listenelement ein Request an den Controller, der lädt das Bild aus der Datenbank und gibt es als Datei zurück

Ob du das nun selber in einer View oder via jQuery machst, bleibt dir überlassen und ist vom Anwendungsfall abhängig.

Bye,
Horst


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Rückgabe einer Liste von Images" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.