Beispiel für JSF 2 link, commandLink und outputLink

In JSF werden die Tags<h:link />,<h:commandLink /> und<h:outputLink /> verwendet, um ein HTML-Ankerelement „a“ zu rendern. Weitere Informationen finden Sie in den folgenden Beispielen.

Note
In den folgenden Beispielen wird angenommen, dass "/ JavaServerFaces /" der Stamm Ihrer Projektkontext-URL ist.

Das Tag "h:link" ist ein neues Tag in JSF 2.0, das Attribut "value" wird als Ankertext gerendert, das Attribut "outcome" wird als Ziel-URL des HTML-Codes bestimmt. href ”-Attribut. Siehe Beispiele:

1. Link + "Ergebnis"

//JSF


//HTML output
Login page

2. Link + "Ergebnis" + Parameter

//JSF

    


//HTML output
Login page + Param

3. Link + "Ergebnis" + Bild

//JSF

    


//HTML output

    

Das Tag "h:commandLink" wird seit JSF 1.x freigegeben, das beim Klicken einen Link generiert, der sich wie eine Senden-Schaltfläche verhält. Das Attribut "value" wird als Ankertext gerendert, das Attribut "action" wird als Ziel-URL des HTML-Attributs "href" bestimmt. Darüber hinaus enthält der "h: commandLink" eine "jsf.js" -Datei auf der Seite und fügt dem generierten Link ein "onclick" -Ereignis hinzu, siehe Beispiele:

Note
Das "j_idtx" ist ein von JSF generierter Zufallswert.

1. commandLink

//JSF


//HTML output



    Login page

P.S if the “action” attribute is omitted, it will reload current page while the button is clicked.

2. commandLink + Aktion

//JSF


//HTML output



    Login page

P.S You can’t even find the action value in the HTML output, only JSF will know where it goes.

3. commandLink + action + parameter

//JSF

    


//HTML output



    Login page + Param

4. commandLink + action + image

//JSF

    


//HTML output



    

Das Tag "h:outputLink" wird in JSF 1.x freigegeben, der Hauptteil des Tags wird als Ankertext gerendert, das Attribut "value" wird als Wert des HTML-Codes "href" gerendert. s ”-Attribut direkt, siehe Beispiele:

1. outputLink

//JSF
Login page

//HTML output
Login page

P.S if the “value” attribute is omitted, it will put the current page URL as the value of the “href” attribute.

2. outputLink + "Wert"

//JSF

    Login page


//HTML output

    Login page

3. outputLink + "value" + outputText + parameter

//JSF

    
    


//HTML output
Login page

4. outputLink + "value" + outputText + image

//JSF

    


//HTML output

    

Mein Gedanke…

Einige Bewertungen der drei oben genannten Link-Tags:

  1. Das Tag "h:link" ist nützlich, um einen Link zu generieren, der eine Interaktion mit dem "Ergebnis" von JSF erfordert. Mangelnde Unterstützung für "Aktionen" macht es jedoch schwierig, ein dynamisches Ergebnis zu generieren.

  2. Das "h:commandLink" -Tag ist saugen, das generierte JavaScript ist wirklich beängstigend! Es wird nicht empfohlen, dieses Tag zu verwenden, es sei denn, Sie haben einen soliden Grund zur Unterstützung. Es unterstützt jedoch das Attribut "action", das "h:link" fehlt.

  3. Das "h:outputLink" ist nützlich, um einen Link zu generieren, der keine Interaktion mit dem JSF-Programm selbst erfordert.

Endlich ist es perfekt, wenn das Attribut "action" zu "h:link" hinzugefügt wird.

Quellcode herunterladen

Laden Sie es herunter -JSF-2-link-commandLink-outputLink-Example.zip (15 KB)