jsf HTML-Tag innerhalb des Wertes

8

Ich habe dieses commandButton, und ich muss ein Icon mit Bootstrap 3 hinzufügen.

%Vor%

Das Symbol befindet sich in einem span-Tag für Bootstrap-3-Gründe, also habe ich versucht, es der Value-Eigenschaft in der Befehlsschaltfläche folgendermaßen hinzuzufügen:

%Vor%

Ich habe einen Fehler, ich nehme an, dass ich keine HTML-Tags innerhalb der value -Eigenschaft hinzufügen kann, gibt es eine einfache Möglichkeit, dies zu tun?

    
John Gamarra González 02.10.2013, 20:45
quelle

2 Antworten

18

Sie können Markup nicht in das Attribut value einer JSF-Komponente einfügen. Sie sollten Markup wie im normalen HTML-Code in den Tag-Text einfügen. Dies wird jedoch von <h:commandButton> nicht unterstützt (aus dem einfachen Grund, weil es ein <input> -Element generiert und alle untergeordneten Elemente in ungültigem HTML enden würden). Es würde nach dem generierten <input> Element gerendert werden.

Verwenden Sie stattdessen <h:commandLink> . Während es ein <a> -Element generiert, unterstützt das Bootstrap CSS auch es genauso wie zu Die btn Stilklasse.

%Vor%

(Beachten Sie, dass ich das falsche Attribut class als styleClass festgelegt habe)

    
BalusC 04.10.2013, 17:25
quelle
1

Ich nehme an, Sie erhalten einen Parse-Fehler. Dies ist so, weil das value -Attribut keinen HTML-Code erwartet. Stattdessen wickle deinen Bootstrap-Code wie folgt auf die Schaltfläche:

%Vor%

Welches generiert die HTML-Ausgabe (die nicht validiert, siehe Hinweis unten):

%Vor%

AKTUALISIEREN

Bootstrap erfordert, dass Sie anscheinend ein <button> haben. Es wird nicht korrekt mit einem <input type=button> formatiert, daher müssen Sie eine benutzerdefinierte Komponente erstellen, um dem JSF-Baum ein <button> hinzuzufügen, da JSF standardmäßig keine solche Komponente bereitstellt. Sie könnten den Code verwenden, der in den Oberflächen erzeugt wird. Sie bieten eine button -Komponente, aber leider wird es nicht Ihren Bedürfnissen entsprechen, da sie bereits eigene Inhalte und Stile enthalten.

Klassen von Interesse in Hauptgesichtern:

HINWEIS: Ich habe tatsächlich die Eingabeelementspezifikation überprüft und es kann nicht sein Host-Inhalt. Um gültig zu sein (und in diesem Fall korrekt formatiert), benötigen Sie ein <button> .

    
Valentin Jacquemin 03.10.2013 10:06
quelle

Tags und Links