Ich habe eine Facelet-Komponente erstellt, um h: commandLink zu erweitern (um einige Funktionen und abgerundete Ecken hinzuzufügen).Erweitern der JSF commandLink-Komponente
<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">
<span class="btn-left btn-corners"> </span>
<span type="submit" class="submit">
<h:commandLink id="#{id}" value="#{label}" action="#{action}" />
</span>
<span class="btn-right btn-corners"> </span> </ui:composition>
Meine neue Komponente kann
<my:commandLink id="continue" label="continue" action="#{applyBacking.submit}"/>
und der Java-Code ist
mit zugegriffen werdenpublic String submit(){
...
}
aber es gibt mir eine Fehlermeldung "ApplyBacking haben nicht die Eigenschaft einreichen". Ich verstehe den Grund für diesen Fehler, weil beim Rendern von my: commandLink versucht wird, # {applyBacking.submit} auf eine Eigenschaft auszuwerten. Stattdessen möchte ich, dass die Informationen über die aufgerufene Methode (applyBacking.submit) an die Vorlage übergeben und beim Rendern von h: commandLink ausgewertet werden.
Irgendwelche Vorschläge?