Hallo, ich versuche mich gerade bei meinen ersten Schritten mit JavaServerFaces. Habe jedoch einen Punkt erreicht, wo ich leider nicht mehr weiter komme.
Ich habe 2 Dateien, eine index.xhtml und eine NameData.java.
in der Index.xhtml soll eine Kundennummer ausgewählt werden, und über die NameData.java sollen die zugehörigen Daten ausgegeben werden. Aber, es klappt nicht. Wäre nett, wenn sich das mal jemand anschauen und mir den entscheidenden Tip geben könnte.
NameData.java
index.xhtml
Ich habe 2 Dateien, eine index.xhtml und eine NameData.java.
in der Index.xhtml soll eine Kundennummer ausgewählt werden, und über die NameData.java sollen die zugehörigen Daten ausgegeben werden. Aber, es klappt nicht. Wäre nett, wenn sich das mal jemand anschauen und mir den entscheidenden Tip geben könnte.
NameData.java
Java:
import java.awt.event.ActionEvent;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
@Named
@SessionScoped
public class NameData implements Serializable
{
private List<String> kundennummern;
private List<String> vornamen;
private List<String> nachnamen;
private int aktIndex = 0;
private String aktKundennummer;
@PostConstruct
private void init()
{
kundennummern = new LinkedList<String>();
vornamen = new LinkedList<String>();
nachnamen = new LinkedList<String>();
kundennummern.add("Kundennummer");
vornamen.add("Vornamen");
nachnamen.add("Nachnamen");
kundennummern.add("100001");
vornamen.add("VN1");
nachnamen.add("NN1");
kundennummern.add("100002");
vornamen.add("VN2");
nachnamen.add("NN2");
kundennummern.add("100003");
vornamen.add("VN3");
nachnamen.add("NN3");
}
public List<String> getKundennummern()
{
return kundennummern;
}
public void setKundennummern(List<String> x)
{
}
public void setAktuellenKunden(ActionEvent event)
{
// nur zu Testzwecken einen "Kunden" weiterspringen... klappt
// aber nicht.
aktIndex++;
}
public String getAktuellenKunden()
{
return aktKundennummer;
}
public String getVorname()
{
return vornamen.get(aktIndex);
}
public String getNachname()
{
return nachnamen.get(aktIndex);
}
public void setVorname(String x)
{
}
public void setNachname(String x)
{
}
}
index.xhtml
Java:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Kundenkartei</title>
<h:outputStylesheet library="css" name="styles.css" />
</h:head>
<h:body>
<h:form id="form">
<h:panelGrid columns="1">
<h:selectOneMenu id="kd" actionListener="#{nameData.aktuellenKunden}">
<f:selectItems value="#{nameData.kundennummern}" />
<f:ajax execute="form:kd" render="form:kd form:vn form:nn" />
</h:selectOneMenu>
</h:panelGrid>
<h:panelGrid columns="2">
<h:outputLabel> Vorname: </h:outputLabel>
<h:inputText id="vn" value="#{nameData.vorname}"> #{nameData.vorname} </h:inputText>
<h:outputLabel> Nachname: </h:outputLabel>
<h:inputText id="nn" value="#{nameData.nachname}"> #{nameData.nachname} </h:inputText>
</h:panelGrid>
</h:form>
</h:body>
</html>