p:commandButton nicht Feuer-Aktion

Hier ist das problem: actionlistener will nicht gefeuert werden

@ManagedBean(name="hotelsController")
@SessionScoped
   public class HotelsController implements Serializable {
      public void requestHotelAvail(ActionEvent event) {
         request = new Request(df.format(arrivalDate), df.format(departureDate));
      }
   }

- und xhtml -

<h:panelgroup id="rooms"/>
<h:form  id="hotelSearch">
            <p:commandButton actionListener="#{hotelsController.requestHotelAvail}" value="submit" update="rooms" />
</h:form>

Ich habe alles versucht, was ich konnte, Suche nach geändert @managedbean zu @component set import zu import javax.faces.event.ActionEvent;

Aber noch nicht Feuer nichts.

Form ist in einem p:accordion und, wenn verwendet, mit h:commandbutton es funktioniert

BEARBEITEN: sorry für die Irreführung. Zimmer die updates nach dem Klick, aber der actionListener wird nicht ausgelöst. also Zimmer erhalten keine neuen Daten. Wichtig-code in requestHotelAvail muss ausgelöst werden, bevor die Aktualisierung der Zimmer-und nicht seiner.

EDIT2: PrimeFaces 2.2.1 - ich habe gelesen, ganze Handbuch zu primefaces, aber es gibt keine Erklärung dafür habe ich alles getan, dass es Staaten

Ich habe versucht, mit action statt actionListener ohne ActionEvent aber nie etwas tun. mit <h:commandbutton action="#{hotelscontroller.requestHotelAvail}"/> funktioniert Super, aber ich will, dass die ajax-engine zu aktualisieren, nur, dass rooms panelgroup

UPDATE: Jetzt funktioniert es. Formular konnte nicht in <p:accordion> aber warum und wie, um es zu aktivieren gibt? Nun ich werde ohne arbeiten.

Mit "keine Feuer nichts" tun Sie tatsächlich bedeuten 1) Die Methode wird nicht aufgerufen (bestätigt durch einen debugger, logger oder sysout), oder 2) Die rooms panelgroup wird nicht aktualisiert?
Nicht Ihr problem beheben, ist aber eine gute Praxis zu haben, die form-Komponente höher als alle anderen Komponenten, solange Sie nicht stören anderen Formen (vermeiden Sie auch innere Formen)
Auch stellen einige sysout's in dieser Methode, um sicher zu sein, oder erstellen Sie eine weitere Methode in dieser Klasse... im server-log erscheint nicht etwas? Wie konnte Sie nicht finden, die Bohne oder die Aktion/Eigenschaft nicht gefunden? Wenn Sie Netbeans sicher sein, dass Ihre Klasse ist richtig eingebaut...
Was PrimeFaces version? Versuchen action statt actionListener und zu entfernen, dass ActionEvent argument, das Sie nicht mit eh.

InformationsquelleAutor Mazmart | 2011-11-25

Schreibe einen Kommentar