JSF2-Verbundkomponente löst PropertyNotFoundException für Aktionsmethode @ a

Ich habe eine zusammengesetzte Komponente:

<composite:interface>
    <composite:attribute name="actionMethod" 
        method-signature="java.lang.String action()" required="true" />
</composite:interface>

<composite:implementation>
    <h:form>
        <h:commandButton id="captureButton" value="#{msgs.capture}" 
            action="#{cc.attrs.actionMethod}" />
    </h:form>
</composite:implementation>

und eine Seite, die diese zusammengesetzte Komponente aufruft:

<ezcomp:captureTitle actionMethod="#{saveDecisionsBean.captureTitle}" />

und eine Bean, die die Aktion enthält:

@Named(value="saveDecisionsBean")
@SessionScoped
public class SaveDecisionsBean extends BackingBeanBase {
    ...
    public String captureTitle() {
        ...
    }
}

Jetzt ist hier mein Problem. Wenn ich versuche, dies auszuführen, heißt es, dass SaveDecisionsBean keine Eigenschaft captureTitle hat. Daher muss ich ein @ hinzufügSaveDecisionsBean#getCaptureTitle() Methode. Wenn ich das mache, läuft es einwandfrei. Warum sollte ich diese Methode definieren müssen? Es steht im<composite:attribute /> dass es eine Methode ist und als Aktion verwendet wird.

Hier ist die genaue Fehlermeldung, die ich erhalte:

javax.el.PropertyNotFoundException: /index.xhtml @54,86 
    actionMethod="#{saveDecisionsBean.captureTitle}": 
    The class 'com.example.persistence.SaveDecisionsBean_$$_javassist_209'
    does not have the property 'captureTitle'.

(Aus SEO-Gründen: In anderen Implementierungen wird möglicherweise der Klassenname @ angezeigWeldClientProxy.)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage