[ jandrla @ 24.04.2005. 22:59 ] @
Posto se za prikaz slike u XML - u i XSL - u, koju zelim da prikazem pored teksta u PDF - u koristi:

<fo:external-graphic src="url({@src})" bla, bla

koji prihvata URL slike. Na koji nacin je moguce, doci do slike da ako recimo zelim da sliku procitam iz baze podataka i da je prikazem u PDF - u bez privremenog cuvanja slike na disku. Da li treba da se posalje slicica kao odgovor servleta ili tome slicno, i ako je tako kako onda zadati njen URL.
Nadam se da sam bio jasan.
Hvala.
[ tiranin @ 25.04.2005. 09:20 ] @
Nisam siguran da sam do kraja shvatio, ali mi se čini da odgovor treba da klasi ovako:
Ono što servlet vraća, onaj ko ga je pozvao(browser) vidi kao običan html(ili xml ...). Tako, ako znaš kako treba da izgleda html koji browser treba da dobije i prikaže tu sličicu i bilo šta drugo, pomoću srevleta ga dinamički kreiraj i to je to.
[ jandrla @ 25.04.2005. 13:09 ] @
Na to sam i mislio da servlet dinamicki kreira XML, ali meni treba da sliku koja treba
da bude prikazana u rezultujucem dokumentu(PDF - u) izvucem iz baze i dam kao
parametar u naredbi <fo:external ... > u XSL - u gde dajem URL slike, ali ja tu sliku ne zelim privremeno da cuvam na disku pa koji onda URL da zadam i kako da prosledim sliku XSL - u.
Drugo za renderovanje koristim FOP u kom takodje dajem ime xml i xsl fajla, pa
ako dinamicki kreiram xml i ako ni njega ne zelim da cuvam na disku kako njega proslediti i do njega doci.
[ dejankr @ 25.04.2005. 14:55 ] @
Ako sam te dobro shvatio, ti hoćeš da ti servlet vrati sliku. Nebitno je da li je generiše u runtime, pročita iz baze ili sa fajl sistema. Tvoj servlet treba na osnovu datih parametara da pročita sliku, i vrati je upisujući je u OutputStream responsa kao niz bajtova. Potrebno je verovatno i da setuje hedere za content type i length.
Koji url će da se koristi je svejedno, sve dok je isti i u FO fajlu i u web.xml-u.

Pozdrav,
Dejan
[ jandrla @ 25.04.2005. 18:24 ] @
Sve sto mene interesuje je sledece:
Sta staviti kao URL adresu slike koju ne zelim da privremeno cuvam na disku?
Posaljem je kao Servlet response i kao URL stavim URL servleta?
Ako je tako, sta ako zelim vise stvari recimo sliku i tekstualni fajl da posaljem kao
odgovor, kako cu da rasclanim jedno od drugoga? I URL slike a i URL xml dokumenta
mi treba za renderovanje u PDF.
[ dejankr @ 25.04.2005. 21:45 ] @
Servlet u jednom responsu može da ti vrati ili sliku ili tekst (html, xml, ascii...). Znači potrebno je da postoji više različitih url-ova: jedan koji će ti vraćati sam XML i po jedan url za svaku sliku. Da li ćeš to sve praviti kao jedan servlet ili više servleta i na koji način ćeš rasčlaniti urlove za svaki od ovih slučajeva je stvar dizajna.
Totalno je nebitno da li ćeš sliku čuvati na disku ili ne, pošto sam servlet u responsu ovu sliku treba da vrati kao niz bajtova. Da li će taj niz biti pročitan sa fajl sistema, iz baze, generisan u runtime, je potpuno svejedno klijentu koji šalje request i prima response.
[ jandrla @ 25.04.2005. 23:26 ] @
Hvala na odgovoru. Kako rasclaniti URL - ove, ako moze pomoc, direktiva ili
link ka nekoj korisnoj adresi?
Drugo, nije nebitno da li se cuva slika na fajl sistemu gledano sa strane servera
na kojoj se vrti aplikacija. Sa strane klijenta jeste.
Pozdrav.
[ dejankr @ 26.04.2005. 09:42 ] @
Pogledaj bilo koji tutorijal za servlete. Na primer, možeš imati dva servleta od kojih će jedan vraćati XML, a drugi slike. Servlet povezuješ sa URL-om kroz web.xml. Druga varijanta je da imaš jedan servlet koji će na osnovu parametara vraćati slike ili xml.

Drugo, klijent ne zna da li je slika uzeta iz baze ili sa fajl sistema jer on slici pristupa preko URL-a. Šta se dešava u servletu je totalno nebitno za klijent.

Pozdrav,
Dejan