Mit EL Parameter an Methode übergeben

Phenix

Bekanntes Mitglied
Hallo zusammen,

so wie ich das verstanden habe, soll es mit JSF 2.0 möglich sein, direkt aus der EL heraus Parameter an Methoden zu übergeben. Dies habe ich verscuth, doch funktioniert das leider nicht. Vielleicht findet ihr ja den Fehler:

Code:
<p:menu type="sliding" maxHeight="125" backLabel="Zurück">
  <c:forEach items="#{categoryManager.categories}" var="category">
    <p:submenu label="#{category.description}">
      <c:forEach items="#{category.entries}" var="entry">
        <p:menuitem value="#{entry.headline}" actionListener="#{initial.setStatus(entry.headline)}" update="grid" />
      </c:forEach>
    </p:submenu>
  </c:forEach>
</p:menu>


Ich versuche also bei einem Klick eine Methode aufzurufen und ihr den Parameter Entry zu übergeben. So sieht die Methode setStatus aus:

Java:
public void setStatus(Entry entry)
{
if(entry.getHeadline().equals("jQuery"))
....


Fehlermeldung;

/index.xhtml @56,128 action="#{initial.setStatus(entry)}" Error Parsing: #{initial.setStatus(entry)}

Danke im Voraus
 
Hi,

die Signatur für Actionlistener in JSF sieht so aus:

Java:
public void setStatus(ActionEvent event){
}

Mit

Java:
<p:menuitem value="#{entry.headline}"update="grid" actionListener="#{initial. attrListener}">
    <f:attribute name="myvalue" value="#{entry.headline}" />
</p:menuItem>

kannst Du etwas an die Bean übergeben. Ausgelesen wird das so:

Java:
public void attrListener(ActionEvent event){
    String myValue = (String)event.getComponent().getAttributes().get("myvalue");
}
 
Zuletzt bearbeitet von einem Moderator:

Neue Themen


Zurück
Oben