Я хочу иметь компонент, который выглядит как кнопка, но вместо текста он должен содержать изображение.
Поскольку стандартная кнопка не предлагает эту функцию, я попытался использовать <h:commandLink>
:
<h:commandLink action="#{some_action}">
<p:panel styleClass="some_style">
<h:graphicImage value="#{some_image}">
</p:panel>
</h:commandLink>
Это не работает. <h:commandLink>
преобразуется в тег <a>
, а <p:panel>
- в <div>
. <a>
-tags не может содержать <div>
-tags, поэтому <div>
-tag автоматически помещается вне <a>
-tag.
В результате только изображение можно щелкнуть, а не окружающая панель, которая будет выглядеть как кнопка. Есть ли способ сделать окружную часть части ссылки или поместить изображение внутри кнопки?
В моем проекте используется JSF и библиотека Primefaces:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:composite="http://java.sun.com/jsf/composite"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui">