2 Stimmen

javax.el.MethodExpression von einer jsf-Komponente aus aufrufen

Ich habe ein JSP-Tag, das eine javax.el.MethodExpression als Attribut nimmt:

<%@ attribute name="action" required="true" type="javax.el.MethodExpression" rtexprvalue="true" %>

innerhalb desselben Tags, den ich habe:

<h:commandLink action="#{action}">
    link text
</h:commandLink>

Ich erhalte die folgende Fehlermeldung, wenn ich versuche, den Link anzuklicken:

javax.faces.FacesException: #{action}: org.apache.jasper.el.JspMethodNotFoundException: /WEB-INF/tags/pager/pager.tag(17,1) '#{action}' Identity 'action' was null and was unable to invoke

Ist es möglich, dass der CommandLink die "Action"-Methode korrekt aufruft?

2voto

noah Punkte 20711

Es ist eine Weile her, seit ich JSF gemacht habe, aber ich bin mir ziemlich sicher, dass ein Methodenausdruck von der Form ist: #{bean.method} . Sie können nicht einfach sagen #{method} .

2voto

BalusC Punkte 1034465

Erstellen Sie kein JSP-Tag. Erstellen Sie eine JSF-Komponente. Erweitern Sie UIComponentELTag . Tutorials hier .

Wenn Sie Facelets verwenden, können Sie auch eine Vorlage mit ui:composition . Tutorials hier .

Wenn Sie bereits mit JSF 2.0 arbeiten, können Sie auch einen Schritt weiter gehen mit Verbundwerkstoff-Komponenten . Anleitung hier .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X