D
derpy
Gast
Hallo! 
Ich möchte, dass auf einer JSF Seite eine Dropdown-Box dargestellt wird, in der die österreichischen Bundesländer angezeigt werden. Wenn ich eins auswähle, soll in der Listbox darunter eine Liste von Städten aus diesem Bundesland ausgegeben werden. Das ganze soll über AJAX realisiert werden.
An sich sollte ja alles funktionieren, nur mein Problem ist, dass bei Auswahl des Bundeslands nichts in der Listbox angezeigt wird.
Ich hoffe mir kann jemand helfen... Ich steh total auf'm Schlauch
Auszug der JSF-Seite:
und der zugehörige Controller:
model-Klasse Bundesland:
Ich möchte, dass auf einer JSF Seite eine Dropdown-Box dargestellt wird, in der die österreichischen Bundesländer angezeigt werden. Wenn ich eins auswähle, soll in der Listbox darunter eine Liste von Städten aus diesem Bundesland ausgegeben werden. Das ganze soll über AJAX realisiert werden.
An sich sollte ja alles funktionieren, nur mein Problem ist, dass bei Auswahl des Bundeslands nichts in der Listbox angezeigt wird.
Ich hoffe mir kann jemand helfen... Ich steh total auf'm Schlauch
Auszug der JSF-Seite:
Code:
<h:form id="bundeslandForm">
<h:selectOneMenu id="som" value="#{bundesCon.bundesland}">
<f:ajax render="bListbox" event="valueChange"/>
<f:selectItems value="#{bundesCon.bundesland.austria2}" var="b" itemValue="#{b}" itemLabel="#{b.name}"/>
</h:selectOneMenu>
<br/>
<h:selectOneListbox id="bListbox">
<f:selectItems value="#{bundesCon.bundesland.staedte}"/>
</h:selectOneListbox>
</h:form>
und der zugehörige Controller:
Java:
@ManagedBean(name = "bundesCon")
@SessionScoped
public class BundeslandController implements Serializable {
private Bundesland bundesland = new Bundesland();
private String aktBL = Bundesland.getAustria().get(0).toString();
public String getAktBL() {
return aktBL;
}
public void setAktBL(String aktBL) {
this.aktBL = aktBL;
}
public BundeslandController() {
}
public Bundesland getBundesland() {
return bundesland;
}
public void setBundesland(Bundesland bundesland) {
this.bundesland = bundesland;
}
}
model-Klasse Bundesland:
Java:
package model;
import java.util.ArrayList;
import java.util.List;
public class Bundesland {
private final static List<Bundesland> austria;
private List<String> staedte = new ArrayList<String>();
private final static List<String> sList = new ArrayList<String>();
public Bundesland(String name, String capital, int area) {
this.name = name;
this.capital = capital;
this.area = area;
}
public Bundesland(String name, String capital, int area, List<String> staedte) {
this.name = name;
this.capital = capital;
this.area = area;
for (String s : staedte) {
this.staedte.add(s);
}
}
public List<String> getStaedte() {
return staedte;
}
static {
austria = new ArrayList<Bundesland>();
sList.add("Neusiedl");
sList.add("Eisenstadt");
sList.add("Mattersburg");
austria.add(new Bundesland("Burgenland", "Eisenstadt", 3965));
sList.clear();
sList.add("Linz");
sList.add("Wels");
sList.add("Steyr");
austria.add(new Bundesland("Oberösterreich", "Linz", 11982));
//usw.
}
private String name;
private String capital;
private int area;
public static List<Bundesland> getAustria() {
return austria;
}
public List<Bundesland> getAustria2() {
return getAustria();
}
public Bundesland() {
this("", "", 0);
}
public String getCapital() {
return capital;
}
public String getName() {
return name;
}
public int getArea() {
return area;
}
}