valueof que enum ejemplo definicion java spring jsp enums

java - ejemplo - Use la etiqueta de opciones de Spring para mostrar el valor toString de enum



que es un enum en java (3)

¿Por qué no agregar un método público getDisplayName () a su enumeración?

Estoy usando Spring para un formulario HTML. Uno de los campos es una enum y, por lo tanto, me gustaría tener una lista desplegable de HTML (etiqueta <option> ). El nombre de mi enum es diferente del valor de toString() . Por ejemplo:

public enum Size { SMALL("Small"), LARGE("Large"), VERY_LARGE("Very large"); private final String displayName; private Size(String displayName) { this.displayName = displayName; } public String toString() { return displayName; } }

Quiero que el usuario vea el valor toString() . Normalmente, esto se logra utilizando la itemLabel of the Spring.

<form:options items="${enumValues}" itemLabel="beanProperty" />

Pero toString() no es una propiedad de bean ya que no comienza con "get". ¿Hay alguna manera de configurar itemLabel para usar el valor de itemLabel sin tener que crear un getter?


¿Has intentado utilizar el poderoso modelo de AOP de Spring para extender tus enums desde un solo lugar? Parecería que, dependiendo de la cantidad de enumeraciones que tenga, podría agregar fácilmente un método getDisplayName() a todas ellas que simplemente devuelva su valor toString() .


Sé que esto tiene algunos años y debe resolverse por ahora, pero pensé en agregar la solución para los futuros interesados.

Simplemente elimine la parte [itemLabel = "beanProperty"]. Utilizará toString para imprimir los valores.