I have a EnumMap:
EnumMap<Gender, Integer> genderMap = new EnumMap(Gender.class);
where Gender is public enum Gender {Male, Female};
And I have req.setAttribute("genderMap", genderMap);
Now I want to get the value from genderMap by a key in JSP file:
${genderMap['Male']}
but this doesn’t get the value in genderMap. Why?
Don’t use enum mappings. Just use enums as enums in Java and as strings in JSP/EL.
I’ll assume that you need that integer because of a database mapping. E.g.
Maleis stored as1in database andFemaleis stored as0in database. In that case, you need to redesign your enum as follows:When populating the
Personfrom DB by JDBC, just doWhen showing preselected options to enduser in JSP, just do
and
or even without the
idWhen collecting submitted values in servlet, just do
or when using without
idin HTML