Možná mi něco uniklo, ale proč je to nutné pro Stripes udělat ? Všechny typy enum dědí z java.lang.Enum, a pole pro pořadové číslo už mají, takže:
package cz.makub;
public enum Obdobi {
JARO, LETO, PODZIM, ZIMA;
public static void main(String[] args) {
for(Obdobi o : Obdobi.values()) {
System.out.println(o.name()+" "+o.ordinal());
}
}
}
vypíše
JARO 0
LETO 1
PODZIM 2
ZIMA 3
a pokud se jedná o zobrazení lokalizovaných nápisů, tak to Stripes
řeší přes ResourceBundle, takže do StripesResources_cs.properties
stačí dopsat
Obdobi.JARO=jaro
Obdobi.LETO=léto
Obdobi.PODZIM=podzim
Obdobi.ZIMA=zima
a pro ostatní jazyky příslušné překlady. Pak stačí mít v JSP
<stripes:select name="obdobi" >
<s:options-enumeration enum="cz.makub.Obdobi"/>
</s:select>
a zobrazí se to pěkně ve správném jazyce.
Makub
Ondřej Fafejta napsal(a):
> Zdravím Vás!
>
> Ve stripes jsme to řešili podobným způsobem:
>
> v action beanu máme metodu
> public List<MyStatusEnum> getPosibleMyStatusEnums(){
>
> Samozřejmě, že k tomu musíte mít konvertor
> public class MyStatusEnumConverter implements TypeConverter<MyStatusEnum>{
>
> Ve stripes to pak vypadá následovně:
>
> <stripes:select name="myNames" multiple="true" size="3">
> <stripes:options-collection
> collection="${actionBean.posibleMyStatusEnums}" label="label"
> value="status" />
> </stripes:select>
>
> v našem výčtovém typu máme metody
>
> getLabel() a getStatus().
>
> Fafi
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Science email: [EMAIL PROTECTED]
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--------------------------------------------------------------
smime.p7s
Description: S/MIME Cryptographic Signature
