selectOneMenu - items über ajax

Status
Nicht offen für weitere Antworten.

number8

Aktives Mitglied
Hallo.
Wieder ein Problem. Man stelle sich vor, es gibt zwei Auswahlfelder(h:selectOneMenu). Das erste steht für ein Land. Das zweite für die einzelnen Bundesländer (oder halt Bundesstaaten). Nun soll, nachdem sich der Wert des Landes im ersten Feld geändert hat, im zweiten die dazugehörigen Bundesländer/staaten stehen. Ein valuechangeListener geht wegen des submits nicht (da dann alle Formulardaten validiert werden und unschöne Fehlermeldungen entstehen). Daher soll das ganze über AJAX gelöst werden. Also onchange die Werte(BundesLänder) für's jeweilige Land holen. Aber wie, ja wie befüllt man mit diesen Werten dann die zweite SelectBox??? ???:L
 

WeirdAl

Bekanntes Mitglied
Hi,
mit a4j kannst Du das folgendermaßen realisieren:

Code:
...

		<h:outputText value="Land:" />

           <a4j:region renderRegionOnly="false">
			<h:panelGroup id="countryOneMenu">
				<h:selectOneMenu value="#{aBean.currentCountry}">
					<f:selectItems value="#{aBean.countryList}"/>
					<a4j:support event="onchange" action="#{aBean.changeStatesList}" reRender="statesOneMenu" />
				</h:selectOneMenu>
			</h:panelGroup>
			</a4j:region>
			
			<h:outputText value="Bundesstaat oder was auch immer:" />
			
			<a4j:region renderRegionOnly="false">
			<h:panelGroup id="statesOneMenu">
				<h:selectOneMenu value="#{aBean.currentState}">
					<f:selectItems value="#{aBean.statesList}"/>
					<a4j:support event="onchange"/>
				</h:selectOneMenu>
			</h:panelGroup>
			</a4j:region>
...

So habe ich das in meinem Projekt gelöst. Ich habe hier nur andere Werte und Beannamen gewählt, aber wenn Du dies anpasst müsste das so laufen. Region benötigst du, damit du nach einem reRender auf die Werte der einzelnen Inputfelder zugreifen kannst (die ansonsten leer wären). PanelGroup wird genutzt, um gezielt einen Bereich neu rendern zu können.

Ich hoffe das hilft Dir weiter
Alex
 

number8

Aktives Mitglied
Ich danke Dir für den Hinweis. Das a4j werde ich mir unbedingt anschauen, auch obwohl wir es anders gelöst haben.
 

number8

Aktives Mitglied
Ich habe Dein Bsp. mal umgesetzt, grob so zusagen. Das funktioniert auch alles soweit gut. Nur eins nicht, der submit bzw. command-Button. Da wird dann jedes mal eine Fehlermeldung ausgespuckt (Wert nicht göltig).

Code:
        <f:view>
            <h:form>
                <a4j:region>
                    <h:selectOneListbox size="1" value="#{bean.currentCountry}">
                        <f:selectItems value="#{bean.landList}"/>
                        <a4j:support event="onchange" reRender="setReg"/>
                    </h:selectOneListbox>
                </a4j:region>
                <hr>
                <h:panelGroup id="setReg">
                     <h:selectOneListbox size="1" value="#{bean.currentState}">
                         <f:selectItems value="#{bean.stateList}"/>
                     </h:selectOneListbox>
                     <h:outputText value="#{bean.currentCountry}"/>
                 </h:panelGroup>
                <hr>
                <h:commandButton value="los" action="#{bean.getNextPage}"/>
                <a4j:outputPanel ajaxRendered="true">
                    <h:messages/>
                </a4j:outputPanel>
            </h:form>
        </f:view>

Hat sich erledigt. Gibt dazu ein Bsp. im Netz.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C JSF selectOneMenu keine Auswahl Allgemeines EE 8
W PrimeFaces SelectOneMenu Cursortasten Allgemeines EE 3
T Anfängerfrage: h:selectOneMenu (JSF 2.0), @ManyToOne Annotation in Entity (JPA 2.0) Allgemeines EE 2
S JSF: selectOneMenu: bei onchange actionListener auslösen Allgemeines EE 5
B JSF - selectOneMenu mit Daten aus faces-config füllen Allgemeines EE 5
P jsf SelectOneMenu: Bean als SelectItem Value Allgemeines EE 5
M SelectOneMenu (ComboBox) in JSF Allgemeines EE 3
F Spring Microservices...Lesen und Schreiben über ein Microservice ? Allgemeines EE 4
E Wie kann ich über einen Suchfeld in Java Server Pages nach Datenbankinhalten suchen? Allgemeines EE 11
L Webseiten Formulare über Java Oberfläche ausfüllen? Allgemeines EE 2
F JSP Problem mit Datenbankanbindung über Glassfishserver Allgemeines EE 4
S Pfad-Zugriff über Servlet-init() Allgemeines EE 2
musiKk Datenbankzugriffe über JAX-WS und JPA Allgemeines EE 6
P Können abstrakte Klassen über WSDL versendet werden? Allgemeines EE 3
A File Donwlad über jsp Allgemeines EE 6
W Übliche Art "lokale" Parameter an Servlets zu über Allgemeines EE 2
N Metadaten (Spaltenüberschrift) über EntityBean auslesen? Allgemeines EE 3
S oracle db über jboss in jsp Allgemeines EE 19
D DB-Anbindung über das Internet Allgemeines EE 43
A Annotation "ID: Primary Key über mehrere Spalten möglic Allgemeines EE 3
M Einbindung von fremder Klasse über Skriplet Allgemeines EE 4
G Upload über JSP --> byte[] ? Allgemeines EE 5
R JBoss über lokale IP ansprechen Allgemeines EE 16
M Mehrere Webanwendungen über einen Webserver? Allgemeines EE 2
M Jsf-Seitenaufteilung über div! Allgemeines EE 2
B Spring: Verz. "images" in Web-INF über URL verfügb Allgemeines EE 5
C HashMap über Webservice übertragen Allgemeines EE 2
W servlet über https Allgemeines EE 2
D Servlet Problem über Server Allgemeines EE 26
B JSF - Servlet mit Parametern über einen Link öffnen Allgemeines EE 3
H j_security_check über requestdispatcher Allgemeines EE 3
E bei struts inhalte über mehrere seite verteilen Allgemeines EE 6
S Best-Practice? Daten über Tier-Grenzen hinweg? Allgemeines EE 2
P E-mails alias über Servlets einrichten bei Strato- Allgemeines EE 16
F Package beim Cookie-setzten über BEAN nicht gefunden Allgemeines EE 4
D Eure Meinung über Internal Server Error Allgemeines EE 2
G Methodenaufruf über Klick auf Button Allgemeines EE 3
D Problem - Ansteuerung von Hardware über Webservices Allgemeines EE 10
T JavaMail Programm: Nachricht über Proxy versenden Allgemeines EE 3
M MVC in J2EE: mehrere JSPs über ein Servlet kontrollieren Allgemeines EE 7
D Sessions über mehrer wars ansprechen Allgemeines EE 3
M Übersicht über Application Server Allgemeines EE 3
T Variablen von Bean über Servlet setzen Allgemeines EE 5
Z Gute Tutorial über JSP Allgemeines EE 2

Ähnliche Java Themen

Neue Themen


Oben