Archive

Posts Tagged ‘JSF Facelets’

Methodenaufruf in einer generischen Facelet-Komponente

Dezember 10th, 2008

Bei der Entwicklung generischer Facelets-Komponenten ist es oft erforderlich Methoden einer Managed Bean aufzurufen.

Das folgende Beispiel demonstriert so eine Komponente, die der Einfacheit halber nur aus einem CommandLink-Tag besteht.  In dem Attribut “action” des  Tag wird die Navigationsmethode einer ManagedBean aufgerufen.

Facelet-Komponente “commandLink.xhtml” :

<ui:composition  xmlns="http://www.w3.org/1999/xhtml"
		 xmlns:ui="http://java.sun.com/jsf/facelets"
		 xmlns:h="http://java.sun.com/jsf/html"
		 xmlns:f="http://java.sun.com/jsf/core"
	         xmlns:t="http://myfaces.apache.org/tomahawk”>

    <t:commandLink id=”#{id}” action=”#{bean[method]}” value=”#{value}”/>

</ui:composition>

Diese Facelet-Komponente kann nun in weiteren Facelets (nachdem sie in der taglib.xml deklariert wurde)  parametrisiert aufgerufen werden :

<tf:commandLink
value=”TestCommandLink”
id=”anyId”
bean=”#{TestBean}”
method=”testCommandLink” />

In der Managed Bean “TestBean.java” ist die Navigationsmethode deklariert :

public String testCommandLink(){
return “navigationCase”;
}

Georges Margaritis JSF