Glenn R. Golden <ggolden <at> umich.edu> writes: > A portlet can only generate "markup fragment". The output from a > portlet is aggregated by the portal engine into a complete "markup" > document. Markup is usually (but not limited to) HTML. > > Portlets can not generate images or other binary content, as that does > not fit in the model of fragments and markups and aggregated documents.
Sorry for resurrecting such an old thread [1], but it's the best one I found on this topic. Is everything of the above still true? Probably yes for JSR 168, but what about the JSR 286? Stefan Hepper mentioned later in the thread: > However, for the problem you mentioned there is currently no solution > besides the servlet one that Glenn mentioned, as there is no ability for > the portlet to create a link pointing back to it that does not trigger > the rendering of all portlets on the page. Shouldn't it be easy to let a request that returns non-markup "pass through" the portal and prevent it to "trigger the rendering of all portlets on the page"? The detection of returning markup or non-markup can be either auto-magically or by configuration. > You can continue to use a servlet to generate your image. You would > use a portlet to generate the html markup fragment that places the > image into the document at a particular point. This is quite sub-optimal. A portlet should encapsulate some functionality. I have the need to provide data as table and as chart. By enforcing the chart generation to a servlet I first have to spread the functionality into 2 components and second copy & paste at least the code to implement the same controller logic while it would theoretically only be necessary to implement different views. Is using a servlet still the recommended and necessary way? Regards Jörg [1] http://thread.gmane.org/gmane.comp.jakarta.pluto.user/467
