JSF SelectOneMenu - Probleme mit AJAX

Spawn90

Mitglied
Hallo liebe Community,

ich wende mich an euch da ich ein sehr großes Problem habe. Ich programmiere seit Kurzem an einer Aufgabenverwaltung für einen Freund von mir. Da ich schon früher Java-Anwendungen geschrieben habe und JSF mir auf Anhieb gefiel (ich benutze PrimeFaces) habe ich mich kurzerhand dafür entschieden.

Nun habe ich aber das Problem, dass ich zwei Dropdown-Boxen habe, wobei sich die zweite abhängig von der ersten mit Daten füllen soll.

Dazu hier meine Form:

Java:
<h:form>
                    <p:growl id="growl_projekt" showDetail="true" />
                    <p:panelGrid columns="4">
                        <h:outputText value="Projekt" />
                        <p:selectOneMenu value="#{procon.akt_projekt}">
                            <f:selectItem itemValue="" itemLabel="-" />
                            <f:selectItems value="#{procon.projekte}" var="menu_projekt" itemLabel="#{menu_projekt.bezeichnung}" />
                            <p:ajax event="change" update="id_milestone_menu" />
                        </p:selectOneMenu>
                        <h:outputText value="Meilenstein" id="id_milestone_menu" />
                        <p:selectOneMenu value="#{procon.akt_meilenstein}">
                            <f:selectItem itemValue="" itemLabel="-" />
                            <f:selectItems value="#{procon.meilensteine}" />
                        </p:selectOneMenu>
                    </p:panelGrid>
                    <p:dataTable var="task" value="#{procon.aufgaben}">
                        <p:column headerText="Bezeichnung">
                            <h:outputText value="#{task.bezeichnung}" />
                        </p:column>
                    </p:dataTable>
                </h:form>

Nun müsste sich jetzt nach meinem Verständnis die zweite Box anhand der Daten der ersten Box aktualisieren? Oder doch nicht?

Ich habe dieses bereits durchprobiert: PrimeFaces - ShowCase

bin aber leider zu keinem Ergebnis gekommen! Das witzige ist, dass das Beispiel in meinem Projekt nicht funktioniert hat! Ich benutze PrimeFaces 3M4!

Vielen Dank für die Hilfe, lg
 

freez

Top Contributor
zum einen solltest du dem zweiten selectOneMenu eine ID verpassen und diese updaten. Aktuell updatest du ein outputtext mit einem festen Wert.

Du kannst auch mit verschiedenen Events spielen, wie z.B. click und blur.
 

Spawn90

Mitglied
Ach Entschuldigung... Ich habe die ID aus Versehen zur outputText gesetzt. Ich werde das direkt einmal testen. Gibt es eigentlich eine Liste an Events?

[EDIT]Ich habe jetzt den Sourcecode oben angepasst. Nach wie vor keine Änderung... Ich habe es bei InputText probiert, da funktioniert AJAX tadellos.

Java:
<h:form>
                    <p:growl id="growl_projekt" showDetail="true" />
                    <p:panelGrid columns="4">
                        <h:outputText value="Projekt" />
                        <p:selectOneMenu value="#{procon.akt_projekt}">
                            <f:selectItem itemValue="" itemLabel="-" />
                            <f:selectItems value="#{procon.projekte}" var="menu_projekt" itemLabel="#{menu_projekt.bezeichnung}" />
                            <p:ajax event="change" update="id_milestone_menu" />
                        </p:selectOneMenu>
                        <p:selectOneMenu value="#{procon.akt_meilenstein}" id="id_milestone_menu">
                            <f:selectItem itemValue="" itemLabel="-" />
                            <f:selectItems value="#{procon.meilensteine}" />
                        </p:selectOneMenu>
                    </p:panelGrid>
                    <p:dataTable var="task" value="#{procon.aufgaben}">
                        <p:column headerText="Bezeichnung">
                            <h:outputText value="#{task.bezeichnung}" />
                        </p:column>
                    </p:dataTable>
                </h:form>

[/EDIT]
 
Zuletzt bearbeitet:

freez

Top Contributor
Hast du auch die beiden von mir erwähnten events probiert?

Die Events sind eigentlich javascript events und haben den selben Namen, nur ohne "on" ('onclick' => 'click'). Eine konkrete Liste kenne ich jetzt nicht, würde mich auch interessieren.
 

freez

Top Contributor
Ein kurzer Blick in die API DOC von PrimeFaces zeigt ein paar Primefaces spezifische Events. Vermutlich funktionieren die auch nur bei bestimmten Komponenten:

Code:
AutoCompleteEvent 
AutoUpdateComponentListener 
CaptureEvent 
CloseEvent 
ColumnResizeEvent 
DashboardReorderEvent 
DateSelectEvent 
DragDropEvent 
FileUploadEvent 
FlowEvent 
ItemSelectEvent 
NodeCollapseEvent 
NodeExpandEvent 
NodeSelectEvent 
NodeUnselectEvent 
RateEvent 
ResizeEvent 
RowEditEvent 
ScheduleEntryMoveEvent 
ScheduleEntryResizeEvent 
ScheduleEntrySelectEvent 
SelectEvent 
SlideEndEvent 
TabChangeEvent 
TabCloseEvent 
ToggleEvent 
TransferEvent 
UnselectEvent

[EDIT]In der Primefaces Doku gibt es einige Hinweise auf Events[/EDIT]
 
Zuletzt bearbeitet:

Spawn90

Mitglied
Danke für die Info. Ich weiß jetzt übrigens auch was zumindest der Fehler in der Beispielanwendung von PrimeFaces war. Muss irgendwie selber darüber lachen.

Anscheinend wird für die Anwendung die dargestellt wird nicht der Beispielcode verwendet. Dieser war nämlich fehlerhaft. Es wurde in der Bean auf die Annotation @ManagedBean vergessen.

Habe das nun getestet, das lief auch. Werde nun in meinem Projekt anhand dieses Beispiels nach dem Fehler fahnden und mein Ergebnis posten.

lg
 

freez

Top Contributor
Dieser war nämlich fehlerhaft. Es wurde in der Bean auf die Annotation @ManagedBean vergessen.

Das ist nicht zwangsläufig ein Fehler. Du kannst auch ManagedBeans in der faces-config.xml eintragen. Die ist im showcase nicht zu sehen und die Macher gehen wohl davon aus, dass man sich mit JSF und Managed Beans auskennt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P JSF (Primefaces) SelectOneMenu Value auf Array wird nicht gesetzt Web Tier 0
C selectOneMenu mit valueChangeListener im <p:dialog Web Tier 2
F JSF h:selectOneMenu Wert vorbelegen klappt nicht? Web Tier 2
M Converter für SelectOneMenu Web Tier 3
Phash JSF - SelectOneMenu Property anzeigen Web Tier 3
F JSF p:selectOneMenu Session Web Tier 10
F PrimeFaces - selectOneMenu Web Tier 2
F PrimeFaces p:selectOneMenu funktioniert nicht Web Tier 12
H JSF Textarea nur einblenden, bei bestimmter Auswahl in SelectOneMenu Web Tier 6
H JSF SelectOneMenu und der Converter Web Tier 3
F JSF ValueChangeListener in editable p:SelectOneMenu Web Tier 3
NoXiD JSF h:selectOneMenu - änderungen nicht übernommen Web Tier 14
P SelectOneMenu liest Daten nicht ein Web Tier 7
J JSF 2.0 h:selectOneMenu mit enums Web Tier 4
J h:selectOneMenu und Page-Refresh Web Tier 3
M selectOneMenu Web Tier 4
I selectOneMenu - Problem Web Tier 6
M SelectoneMenu Default Wert Web Tier 4
ModellbahnerTT JSF selectOneMenu Web Tier 15
J Datenübergabe aus selectOneMenu Web Tier 2
F Unterschied h:selectOneMenu zu rich:comboBox Web Tier 4
E Wert aus JSF-Selectonemenu in Textfeld schreiben Web Tier 4
A JSF SelectOneMenu mit Werten aus Bean vorbelegen Web Tier 2
M SelectOneMenu mit Inhalt aus DB Web Tier 2
pkm Probleme mit einem AJAX-Call in einem dynamischen Webprojekt Web Tier 15
M JSF Probleme bei Navigation mit Verzeichnisswechsel Web Tier 2
W JSF Probleme mit Data Table Web Tier 8
W JSF Probleme mit Zugriff zur Managed Bean Web Tier 11
G Probleme mit Java + Tomcat | Cannot switch on a value of type String for source level below 1.7 Web Tier 8
F JSF Probleme mit OverlayPanel Web Tier 0
H Frameset durch Tabelle ersetzten - Probleme mit jsp:include Web Tier 3
xehpuk JSF URL-Encoding-Probleme bei <h:link> (Mojarra) Web Tier 4
M ejb @Remote macht probleme Web Tier 10
W Probleme mit Expression language ? Web Tier 13
P JSF Datenbank Probleme (Limit, Wiederholung) Web Tier 8
J JSF JavaScript Probleme zwischen Tomahawk und Tiles!? Web Tier 2
B Probleme mit h:selectOneRadio Web Tier 2
T DWR - Probleme mit Konfiguration Web Tier 13
W JSF MyFaces Tomahawk Probleme Web Tier 4
G Probleme mit EclipseLink und Java.util.Date Web Tier 3
S JSF Probleme beim redirect im ExceptionHandler Web Tier 2
P JSF 1.2 Navigation probleme Web Tier 2
D Probleme beim installieren von WebBeans Web Tier 2
D Probleme mit Tomcat Web Tier 3
M Tomcat 6 Umlaut Probleme Web Tier 2
D Seam Example Probleme Web Tier 2
C Probleme mit JSPs in Unterverzeichnissen Web Tier 4
A [PrimeFaces] dataTable mit paginator Probleme Web Tier 2
H Probleme beim Aufrufen von Java- oder Servlet-Methoden aus Javascript Web Tier 2
0 JSF: css einbinden - Probleme Web Tier 2
M iframe probleme Web Tier 2
K [GWT] Probleme beim asynchronen Methodenaufruf mit GWT-RPC Web Tier 8
B Probleme mit RichFaces Web Tier 2
O struts2 - Probleme mit parametrisierten URLs Web Tier 5
E Probleme mit GWT & MySQL Web Tier 3
G Probleme mit Ajax Login (jsp) Web Tier 5
S Tomcat / Eclipse Probleme Web Tier 2
B Probleme mit <jsp:include page=""/> und Laufzeit Web Tier 7
P Zurück-Button des Browsers macht Probleme Web Tier 9
O Struts2: Probleme mit Links aus Packages raus Web Tier 9
A JSF+Glassfish: Probleme mit Managed Bean Web Tier 2
S Probleme mit den Nav_rules und HTML code Web Tier 2
D Probleme mit ServletRequest Web Tier 14
G Probleme mit Tomcat Web Tier 14
E RichFaces 3.2.1 Probleme Web Tier 4
W JSTL macht Probleme Web Tier 6
W JavaBeans class="" macht Probleme Web Tier 2
A Time-Out Probleme Web Tier 21
B Probleme mit Marquee Tag Web Tier 3
S AJAX/RestController Post Problem Web Tier 18
J JSF/JEE6 asynchronie Statusmeldungen per ajax Web Tier 1
J Funktion für AJAX - Problem mit Return Web Tier 14
D Servlet 1 Servlet für alles - Wie Cookies per Ajax? Web Tier 1
J Wicket: Füllen von Textarea via AJAX irgendwo auf der PAGE Web Tier 1
S JSF mit Ajax? Web Tier 3
V Wie baue ich eine Ajax Webanwendung? Suche Beispielanwendung (UML) eines AJAX Service Web Tier 0
P JSF Ajax aktualisiert Seite neu Web Tier 2
L JSF Composit Component mit ajax funktioniert nicht. Web Tier 4
M Ajax Fehler zur Laufzeit Web Tier 5
T JSF Primefaces: DataTable Ajax Update - Weiterleitung von anderer Seite Web Tier 11
S JSF ComboBox mit JSF 2.0/ajax Web Tier 4
Kenan89 Class Funktion mit Ajax rufen Web Tier 13
P JSF tag "ajax" not found Web Tier 3
M JSF DataTable refreshen mit Ajax? Web Tier 5
R JSF Mit Ajax ganze Seite neu laden Web Tier 2
J Ajax ist undefiniert Web Tier 3
P JSF AJAX render wird nicht ausgeführt Web Tier 4
M JSF Ajax Command Link Web Tier 2
X Seite wird mit AJAX neu geladen Web Tier 4
J JSF AJAX-Aufruf ohne Komponente Web Tier 4
S Richfaces 4.0 Ajax Waitingpanel Web Tier 2
G JSF 2x h:selectManyCheckbox ohne duplikate Auswahl/selectManyCheckbox und f:ajax Web Tier 3
P JSF Login per Ajax validieren. Was ist der Beste Weg? Web Tier 4
S Ajax Request verhindert forward? Web Tier 8
P JSF Ajax refresh nach Linkklick Web Tier 4
B Ajax JSON Objekt verschicken Web Tier 3
N Htmlunit Test mit Ajax Web Tier 2
D JSF Ajax mit Facelets (PrimeFaces) Web Tier 4
G mit Ajax ein Image vom Server holen Web Tier 2
J JSP und Ajax Web Tier 6

Ähnliche Java Themen

Neue Themen


Oben