You can embed images directly in html using base-64 encoding.

Something like
<img src="data:image/gif;base64<s:property name='encodedImage' />" /> might
do the trick.

Brian



On Mon, Sep 5, 2011 at 7:02 AM, Aaron Brown <aa...@thebrownproject.com>wrote:

> The problem is really an html problem. You cannot embed an image in a web
> page, all you can do is embed a url reference to an image. The browser, if
> it is a graphical browser and not a text reader, will find that reference
> and execute another completely separate request for the image binary. This
> is the request that should trigger your binary stream, not the first
> request
> which only gets the base html for the page.
>
> Given this model, it doesn't make much sense to fetch the image from the db
> at the same time as the metadata you need to build the textual imagemap
> definition. You would either have to just throw away the binary data or
> else
> cache it in expectation of the second request. You've said the caching
> system doesn't work for you, so you're better off just fetching the binary
> image by itself, in its own dedicated action, when that seecond request
> comes in.
>
> - Aaron
>  On Sep 5, 2011 6:10 AM, "AndyLaw" <andy....@roslin.ed.ac.uk> wrote:
> >
> > On 3 Sep 2011, at 15:07, Dave Newton-6 [via Struts] wrote:
> >
> >> Okay, so I guess my question is "Why do you want to deliver the result
> in
>
> >> three separate parts?" Without a clear understanding of what you're
> trying
> >> to do and why, it's difficult to answer in a helpful way.
> >>
> >
> > The results come back in a single hit which is defined in a JSP page. The
> JSP consists of a text table representation of the database results at the
> top of the page and a graphical clickable image of those results
> underneath.
> >
> > The struts1-based version of the code which I inherited has the action
> querying the database, drawing an image to a temporary file, which is then
> referenced from within the JSP. One of the problems that they had with the
> old version (which is being replaced for a huge number of reasons, not just
> this) was the management of "temporary" files broken down frequently
> resulting in file system chaos. I would rather avoid writing stuff to file
> that can be streamed and forgotten.
> >
> > I know how to get the stream returned and I can happily generate the
> image
> as a stream and return it. I don't have a clear picture in my head though
> about how to generate that image as a stream embedded within a JSP.
> >
> > My prototype has the jsp reference the graphic-drawing action as the
> source of an image. However, if I implement that, I'll need to extract the
> data into the action that presents the jsp text and generates the image and
> its source reference. I'll also need to extract the data into the action
> that generates the referenced image and still find a way to dump back the
> html imagemap coordinates and urls to make that image clickable.
> >
> > I'm clearly suffering a brain-fade here. Is the temporary file route the
> way to go or is there something smarter and more "self managing" that I can
> do?
> >
> > Later,
> >
> > Andy
> > --------
> > Yada, yada, yada...
> >
> > The University of Edinburgh is a charitable body, registered in Scotland,
> with registration number SC005336
> > Disclaimer: This e-mail and any attachments are confidential and intended
> solely for the use of the recipient(s) to whom they are addressed. If you
> have received it in error, please destroy all copies and inform the sender.
> >
> >
> >
> >
> >
> > --
> > The University of Edinburgh is a charitable body, registered in
> > Scotland, with registration number SC005336.
> >
> >
> >
> > --
> > View this message in context:
>
> http://struts.1045723.n5.nabble.com/Return-text-to-jsp-plus-image-and-imageMap-from-a-single-Data-query-tp4762757p4769657.html
> > Sent from the Struts - User mailing list archive at Nabble.com.
>

Reply via email to