2016-05-06 14 views
0

Ich habe einen commandLink primefaces mit einem internen graphicImage (JSF 2 mit Primefaces 5).JSF 2.0 graphicImage: setze background-image by css

Code Nach funktioniert:

<p:commandLink action="#{mybean.mymethod()}" process="@this"> 

    <h:graphicImage name="images/one.jpg" 
    rendered="#{myBean.test.size() == 0" /> 

</p:commandLink> 

Leider habe ich jede graphicImage in meiner Anwendung, so würde ich in einer CSS-Klasse gesetzt Bild mögen.

Ich denke über etwas:

<p:commandLink action="#{mybean.mymethod()}" process="@this"> 

    <h:graphicImage styleClass="myClass" 
    rendered="#{myBean.test.size() == 0" /> 

</p:commandLink> 

wo meine CSS-Datei folgt:

.myClass { 
    background-image: url('/myApplication/resources/images/one.jpg'); 
} 

aber nicht funktioniert.

Ist es möglich? Wie kann ich sonst die GrafikBild-Komponente ersetzen? Ich versuche mit img-Tag oder Hinzufügen einer Klasse in der commandLink-Komponente mit einem Hintergrundbild, funktioniert aber nicht.

Irgendeine Idee?

Danke.

+0

Dupliziert durch? Ich habe einige Antworten gefunden, die aber nicht funktionieren. Finde ich falsch? – Diaboliko

Antwort

1

Sie können es mit

background-image: url("#{resource['images/one.jpg']}"); 

Und Sie können nur die styleclass direkt am p:commandLink (keine Notwendigkeit für die h:graphicImage) verwenden.

More Lesung auf die Angelegenheit.

+0

Ich hatte Ihren Beitrag bereits gesehen. Ich versuche es so, aber es funktioniert nicht: ... wo Meine Klasse css folgt: .myClass { background-image: url ("# {resource ['images/one.jpg']}}")! } Mit inspizieren aus dem Browser, sehe ich myClass mit Hintergrundbild korrekt, aber ich sehe kein Bild ... – Diaboliko

+0

Vielleicht weil mein commandLink in einem Datagrid ist? Meine Struktur abgeschlossen ist folgende: \t \t \t \t \t \t .. . \t \t \t \t \t \t \t \t ... \t \t Diaboliko

+0

Haben Sie CSS mit h sind: outputStylesheet? Sie müssen ... wenn nicht, was ist die komplette Ordnerstruktur? –