Originally I had:
<tr wicket:id="resources">
<td>
<a href="#" wicket:id="reslink">
<img wicket:id="icoType" src="ResourceMachine.gif"/>
<span wicket:id="label">jawa01</span>
</a>
</td>
...
</tr>
// Link itself. We're giving the resource as the parameter for the Resource page.
new BookmarkablePageLink("reslink", new ResourcePage( item.getModelObject().getResource() ))
// Icon.
.add( new Image( "icoType", "ResourceMachine.gif" ) )
// Link's kabel
.add( new Label("label", item.getModelObject().getResource().getName() ))
I tried to turn it into a component:
<!DOCTYPE html>
<html>
<head>
<title>JawaBot resource</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<a href="#">
<wicket:extend>
<img wicket:id="icoType" src="ResourceMachine.gif"/><span wicket:id="label">jawa01</span>
</wicket:extend>
</a>
</body>
</html>
package org.jboss.jawabot.web._co;
import org.apache.wicket.Page;
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.image.Image;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.jboss.jawabot.Resource;
import org.jboss.jawabot.web._pg.ResourcePage;
/**
* A Bookmarkable resource link leading to the ResourcePage.
* @author OndrejZizka
*/
public class ResourceLink extends BookmarkablePageLink<Resource> {
public <C extends Page> ResourceLink( String id, Resource res ) {
super( id, ResourcePage.class );
this.add( new Image( "icoType", "ResourceMachine.gif" ) );
this.add( new Label("label", this.getModelObject().getName() ));
}
}
<tr wicket:id="resources">
<td>
<a href="#" wicket:id="reslink">
<img src="ResourceMachine.gif"/>
<span>jawa01</span>
</a>
</td>
...
</tr>
// Link itself. We're giving the resource as the parameter for the Resource page.
new ResourceLink("reslink", item.getModelObject().getResource() ))
That's all.