J
JSF-Anfänger
Gast
Hallo,
wenn man bei einem Input-Element eine value angibt, wird ja die dem entsprechenden getter und setter aufgerufen.
Beispiel:
Auch wenn ich ein vereinfachtes Beispiel hier dargestellt habt sieht man denke ich das, auf das ich raus will.
Es gibt hier in dem Beispiel für alle 7 Wochentage Setter und Getter die eigentlich komplett das gleiche machen - sie setzen nur einen Wert (ob ein bestimmter Tag aktiv ist) in einem Array.
Schöner wäre es doch, wenn ich alle Wochentage mit einem Setter und einem Getter abfertigen kann und einfach beim Setter und Getter einen weiteren Parameter zwischen 0 und 6 mitgeben könnte.
Habe es nun mal so probiert:
Das get-Wochentag funktioniert, da er das Array zurück bekommt und dann darauf normal mit dem Index zugreifen kann.
Das set-Wochentag funktioniert nicht (irgend wie auch logisch, da die jsf Seite ja kein array hat sondern nur den Wert).
Wie kann ich mein vorhaben so umsetzen, dass es geht?
Danke
wenn man bei einem Input-Element eine value angibt, wird ja die dem entsprechenden getter und setter aufgerufen.
Beispiel:
HTML:
<h:selectBooleanCheckbox value="#{dieBean.montag}" id="mo" />
<h:selectBooleanCheckbox value="#{dieBean.dienstag}" id="di" />
...
Java:
class DieBean
{
private boolean[] wochentage;
public dieBean()
{
wochentage = new boolean[]{false, false, false, false, false, false, false};
}
public void setMontag(boolean aktiv)
{
wochentage[0] = aktiv;
}
public booelan getMontag()
{
return wochentage[0];
}
public void setDienstag(boolean aktiv)
{
wochentage[1] = aktiv;
}
public booelan getDienstag()
{
return wochentage[1];
}
...
}
Auch wenn ich ein vereinfachtes Beispiel hier dargestellt habt sieht man denke ich das, auf das ich raus will.
Es gibt hier in dem Beispiel für alle 7 Wochentage Setter und Getter die eigentlich komplett das gleiche machen - sie setzen nur einen Wert (ob ein bestimmter Tag aktiv ist) in einem Array.
Schöner wäre es doch, wenn ich alle Wochentage mit einem Setter und einem Getter abfertigen kann und einfach beim Setter und Getter einen weiteren Parameter zwischen 0 und 6 mitgeben könnte.
Habe es nun mal so probiert:
HTML:
<h:selectBooleanCheckbox value="#{dieBean.wochentag[0]}" id="mo" />
<h:selectBooleanCheckbox value="#{dieBean.wochentag[1]}" id="di" />
...
Java:
class DieBean
{
private boolean[] wochentage;
public dieBean()
{
wochentage = new boolean[]{false, false, false, false, false, false, false};
}
public void setWochentag(boolean[] aktiv)
{
wochentage = aktiv;
}
public booelan getWochentag()
{
return wochentage;
}
}
Das get-Wochentag funktioniert, da er das Array zurück bekommt und dann darauf normal mit dem Index zugreifen kann.
Das set-Wochentag funktioniert nicht (irgend wie auch logisch, da die jsf Seite ja kein array hat sondern nur den Wert).
Wie kann ich mein vorhaben so umsetzen, dass es geht?
Danke