2011-06-03 8 views
12

Estoy tratando de utilizar una imagen para un enlace de este modo:utilizando imágenes que comunica con los <wicket:link>

<wicket:link> 
    <a href="UploadPage.html"> 
     <img src="/logo.png"/> 
    </a> 
</wicket:link> 

En el HTML representado, el href del <a> está definida correctamente a mi página de carga.

Pero, curiosamente, Wicket agrega onclick=window.location.href='/logo.png' a la etiqueta <img>. El resultado final es que al hacer clic en el logotipo se carga el logotipo, en lugar de la página de carga.

Un simple reparo es no usar <wicket:link>, y codificar la URL en mi página de carga, pero me gustaría saber si hay una solución adecuada para esto.

+0

No estoy seguro, pero esto suena como un error autolink. – biziclop

+0

@ biziclop- Acabo de presentar un informe de error: https://issues.apache.org/jira/browse/WICKET-3930 –

Respuesta

2

Para mí ayudó a añadir onClick vacía (Wicket 1.5):

<li><a class="current" href="main"> 
    <img onClick="" src="img/icons/home.png"/> 
</a></li> 

después de esto, los puntos de enlace a la página, no la imagen misma

0

¿Ya echa un vistazo a la respuesta en How to make a wicket link appear as an image?

¿Qué versión portillo se utiliza?

+0

Estoy usando Wicket 1.4.17. Solo intento vincular a una página de Wicket interna, no a ExternalLink, por lo que la página a la que hace referencia no se aplica realmente. –

+0

Esto es más bien un comentario, no una respuesta. –

0

que tal vez se han olvidado de la cita en la "onclick":

onclick="window.location.href='/logo.png'" 
+1

No estoy proporcionando el comportamiento onclick: Wicket sí. –

0

sólo por mencionar: el uso de URL completa de la etiqueta src debería ayudar (http: //blah/logo.png) pero no es elegentPackage o solución portátil. Tal vez es un error de wicket. Tal vez considere usar div con css en su lugar?

1

Añadir lo siguiente en su html:

<a wicket:id="linkID"><img src="/logo.png"/></a> 

Añadir lo siguiente en la correspondiente clase Java:

add(new PageLink<Void>("linkID", new YourWicketPage())); 

o con fines más generales:

add(new Link<Void>("linkID") { 
    @Override 
    public void onClick() 
    { 
     // do whatever you want when the link/image is clicked 
    } 
); 

en cuenta que yo dio el modelo Link a Void, ya que un modelo no me parece necesario en este caso. Sin embargo, es imaginable que dado un cierto contexto, se debe usar un modelo para el enlace.

+0

¡Jup, debería funcionar! –

Cuestiones relacionadas