DerGrinsemann
Mitglied
Hallo!
Folgende Codeschnippsel:
produziert im System.out
Ich weiss das "System.out.println" nicht die feine Art ist - konnte es nur nicht glauben. Warum wird die Methode dreimal aufgerufen?
Was läuft falsch?
Marco
Ergänzung: Auch bei der Erweiterung von Country um einen 4. Wert (z.B. ITA) erfolgt ein dreifacher Aufruf.
Folgende Codeschnippsel:
Code:
public enum Country {
AUT, // Österreich
DEU, // Deutschland
CHE // Schweiz
}
Code:
@Stateful
@Name("geoUnitListHandler")
@Scope(ScopeType.CONVERSATION)
public class GeoUnitListHandler implements GeoUnitListHandlerLocal, Serializable {
...
public Country[] getCountryArray() {
System.out.println("CountryArray");
return Country.values();
}
...
Code:
<h:form>
<h:selectOneMenu value="#{geoUnitListHandler.selectedCountry}" required="false">
<s:selectItems value="#{geoUnitListHandler.countryArray}" var="_country" label="#{messages['country.'.concat(_country)]}"
noSelectionLabel="Select a Country..."/>
<s:convertEnum/>
</h:selectOneMenu>
</h:form>
produziert im System.out
Code:
CountryArray
CountryArray
CountryArray
Ich weiss das "System.out.println" nicht die feine Art ist - konnte es nur nicht glauben. Warum wird die Methode dreimal aufgerufen?
Was läuft falsch?
Marco
Ergänzung: Auch bei der Erweiterung von Country um einen 4. Wert (z.B. ITA) erfolgt ein dreifacher Aufruf.
Zuletzt bearbeitet: