Hi

As Bob Harner said, the "img" tag you are using is a normal html tag that
takes a url.
If you look at the example you are linking to, you will see that it is
using 2 different classes (UploadStore and SomePage)

These pages have different tasks.
UpploadStore redenders a image based on the ID in the activation
contextwhile SomePage is the page beeing displayed.


You should therefore create a page (without the tml file) that returns the
binary content when it is activated (you may test this by pointing your
browser to it. ) and then link to it from your index page.


Regards

Sigbjørn Tvedt

On 17 March 2013 01:19, Bob Harner <bobhar...@gmail.com> wrote:

> The src attribute of the img element requires the URL of the image, not the
> image contents.
> On Mar 16, 2013 7:46 PM, "Bela Takacs" <bela.takacs....@gmail.com> wrote:
>
> > Hi All,
> >
> > I am writing my very first program using Tapestry, and I've got my
> > first problem...
> >
> > I want to display an image in my Index.tml template, so I'm trying to
> > use two files (InlineStreamResponse.java and JPEGInline.java) from
> > here:
> > http://wiki.apache.org/tapestry/Tapestry5HowToStreamAnExistingBinaryFile
> >
> > Firefox an IE can display my template but neither Firefox nor IE can
> > display the images (I cannot see any images on the screen). I got the
> > following error message in my Eclipse/Jetty console
> > (IllegalArgumentException: '@' character is not valid), but I do not
> > use any '@' character:
> >
> > [INFO] AppModule.TimingFilter Request time: 2 ms
> > [INFO] AppModule.TimingFilter Request time: 3 ms
> > [ERROR] TapestryModule.RequestExceptionHandler Processing of request
> > failed with uncaught exception: Input string
> > 'com.example.tutorial.pictureHandler.JPEGInline@608a6351' is not
> > valid; the character '@' at position 47 is not valid.
> > java.lang.IllegalArgumentException: Input string
> > 'com.example.tutorial.pictureHandler.JPEGInline@608a6351' is not
> > valid; the character '@' at position 47 is not valid.
> >         at
> >
> org.apache.tapestry5.internal.services.URLEncoderImpl.decode(URLEncoderImpl.java:144)
> >         at $URLEncoder_6d6aa2f29b30.decode(Unknown Source)
> >         at
> >
> org.apache.tapestry5.internal.services.ContextPathEncoderImpl.decodePath(ContextPathEncoderImpl.java:92)
> >         at $ContextPathEncoder_6d6aa2f29b18.decodePath(Unknown Source)
> >         at
> >
> org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.checkIfPage(ComponentEventLinkEncoderImpl.java:501)
> >         at
> >
> org.apache.tapestry5.internal.services.ComponentEventLinkEncoderImpl.decodePageRenderRequest(ComponentEventLinkEncoderImpl.java:475)
> >         at
> >
> org.apache.tapestry5.internal.services.linktransform.LinkTransformerInterceptor.decodePageRenderRequest(LinkTransformerInterceptor.java:68)
> >         at
> > $ComponentEventLinkEncoder_6d6aa2f29b0c.decodePageRenderRequest(Unknown
> > Source)
> >         at
> >
> org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:41)
> >         at $Dispatcher_6d6aa2f29b0d.dispatch(Unknown Source)
> >         at $Dispatcher_6d6aa2f29b07.dispatch(Unknown Source)
> >         at
> >
> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
> >         at
> >
> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
> >         at $RequestHandler_6d6aa2f29b08.service(Unknown Source)
> >         at
> >
> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
> >         at $RequestHandler_6d6aa2f29b08.service(Unknown Source)
> >         at
> >
> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
> >         at $RequestHandler_6d6aa2f29b08.service(Unknown Source)
> >         at
> >
> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
> >         at $RequestHandler_6d6aa2f29b08.service(Unknown Source)
> >         at
> > com.example.tutorial.services.AppModule$1.service(AppModule.java:89)
> >         at $RequestFilter_6d6aa2f29b02.service(Unknown Source)
> >         at $RequestHandler_6d6aa2f29b08.service(Unknown Source)
> >         at
> >
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
> >         at
> >
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
> >         at
> >
> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
> >         at
> >
> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
> >         at $RequestHandler_6d6aa2f29b08.service(Unknown Source)
> >         at $RequestHandler_6d6aa2f29afb.service(Unknown Source)
> >         at
> >
> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
> >         at
> > org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
> >         at $HttpServletRequestHandler_6d6aa2f29afd.service(Unknown
> Source)
> >         at
> >
> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> >         at $HttpServletRequestFilter_6d6aa2f29af9.service(Unknown Source)
> >         at $HttpServletRequestHandler_6d6aa2f29afd.service(Unknown
> Source)
> >         at
> >
> org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
> >         at $HttpServletRequestHandler_6d6aa2f29afd.service(Unknown
> Source)
> >         at $HttpServletRequestHandler_6d6aa2f29af8.service(Unknown
> Source)
> >         at
> > org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
> >         at
> >
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
> >         at
> > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
> >         at
> >
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> >         at
> > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> >         at
> > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> >         at
> > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
> >         at
> > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> >         at org.mortbay.jetty.Server.handle(Server.java:326)
> >         at
> > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> >         at
> >
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
> >         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
> >         at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> >         at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> >         at
> >
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> >         at
> >
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> > [INFO] AppModule.TimingFilter Request time: 28 ms
> >
> >
> > Further informations from my pom.xml:
> >         <tapestry-release-version>5.3.6</tapestry-release-version>
> >
> > <artifactId>maven-jetty-plugin</artifactId><version>6.1.16</version>
> >
> >
> > In my template, I tried these two things:
> > <img src="${getImageThumb()}" />
> > <img src="${imageThumb}" />
> >
> > As a result, I got the following URLs in my Index.tml template (in both
> > cases):
> > <img src="com.example.tutorial.pictureHandler.JPEGInline@24ca1465"/>
> >
> >
> > This is the relevant part of my Index.java:
> > ...
> >   public StreamResponse getImageThumb() {
> >         System.out.println("Trying to do that....");
> >         try {
> >            return new JPEGInline(new FileInputStream("d:\\Hello.jpg"),
> > "d:\\Hello.jpg");
> >         } catch (FileNotFoundException e) {
> >                 System.out.println("The file (jpg) cannot be found.");
> >                 e.printStackTrace();
> >         } catch (Exception ex) {
> >                 System.out.println("Other problem.");
> >         }
> >         return null;
> >   }
> >
> >
> >
> > Question: What does the exception, that I copy-pasted above, mean? And
> > what should I do?
> >
> >
> > Thanks a lot,
> > Bela
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: users-h...@tapestry.apache.org
> >
> >
>

Reply via email to