You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Robin Sander <ro...@gmx.net> on 2009/07/09 13:17:49 UTC

Re: How to use a mounted shared resource as a link resource?

To answer my own question in case anybody else has a similiar problem:

There's a urlFor(ResourceReference) method in Component, so store the  
ResourceReference
in the application, then access it in the Component which needs the  
URL and call urlFor().



On 26.06.2009, at 16:21, Robin Sander wrote:

>
> Say, I have an image 'logo.png' in the same package as class  
> 'StaticScope' and I mount this image
> as a shared resource at path 'static/images/logo.png'.
> How should I access this resource in other components?
>
> For example:
>
> In MyApplication.init():
>  ...
>  ResourceReference ref = new ResourceReference(StaticScope.class,  
> "logo.png");
>  mountSharedResource("static/images/logo.png",  
> ref.getSharedResourceKey());
>  ...
>
> Fine, now my image is accessible at the mounted path 'http://..../ 
> static/images/logo.png'.
>
> But if I try to access this resource in Java using  
> SharedResource.get(...), for example to use it in a Link,
> I always end up with the wrong URL ( something like ? 
> wicket:interface=:0:header:logolink:image::IResourceListener::)
>
> Here's my code:
>
> public class Header extends Panel {
>
>      public Header(final String id) {
> 		super(id);
> 		add(new SimpleAttributeModifier("id", "header"));
> 		BookmarkablePageLink<Void> logoLink = new  
> BookmarkablePageLink<Void>("logolink", HOMEPAGE_CLASS);
> 		// XXX
> 		Resource resource =  
> KuppelboxApplication 
> .getInstance().getSharedResources().get(StaticScope.class,  
> "logo.png", null, null, true);
>
> 		logoLink.add(new Image("image", resource));
> 		add(logoLink);
> 		add(new UserPanel("user-panel", Index.class));
> 	}
> }
>
> Or should I use "new Image("image", new  
> ResourceReference(StaticScope.class, "logo.png"))?
> (but then I wonder why SharedResources returns Resource only)
> Or should I use wicket:link? Or static HTML code only?
>
>
> Regards,
>
> Robin.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org