Comment utiliser Java ENUM avec <forme:select>
Je suis en train d'utiliser l'ENUM ci-dessous à l'intérieur de mon en modifier le contenu .jsp à l'aide de la <form:select>
balise et ne peut pas trouver un exemple sur la façon de le faire.
public class Content implements Serializable {
public enum Paperless {
NONE(null, ""),
EDELIVERY_RECOMMENDED("EDELIVERY_RECOMMENDED", "Recommend eDelivery"),
EDELIVERY_REQUIRED("EDELIVERY_REQUIRED", "Require eDelivery"),
EDELIVERY_REQUIRED_JUSTIFICATION("EDELIVERY_REQUIRED_JUSTIFICATION", "Require eDelivery w/out justification");
private String name;
private String description;
Paperless(String name, String description) {
this.name = name;
this.description = description;
}
public String getName() {
return this.name;
}
public String getDescription() {
return this.description;
}
}
....
Le contenu ci-dessus de l'objet est passé à mon .fichier jsp que ${content}
.
Je suis en train de faire
<form:select path="content.Paperless">
<form:options items="${content.Paperless}" itemLabel="name"/>
</form:select>
C'est jeter une exception....
org.springframework.beans.NotReadablePropertyException: Invalid property 'content' of bean class [com.fettergroup.cmt.model.Content]: Bean property 'content' is not readable or has an invalid getter method: Does the return type of the getter match the parameter
Je suis malentendu quelque chose à ce sujet, mais je ne peux pas identifier un...
- Que penser d'un
List<Paperless> getPaperlessOptions()
méthode dansContent
? Ce serait vous obliger à écrireitems="${content.paperlessOptions}"
dans votre page. - Avez-vous utilisez <form:form> tag?
Vous devez vous connecter pour publier un commentaire.
Votre
<form:select>
chemin est en se référant à un getter avec le nom getContent() qui retourne un objet qui a getter getPaperless(). Peut-être que tu voulais l'utiliser juste getPaperless() sur votre modèle d'action de la classe.Puis affiche la liste des valeurs enum vous avez juste besoin de déclarer un vide options de la balise:
<form:form commandName="content" method="POST" action="save.html">
Vous devez convertir enum pour la collecte et le mettre en modèle.
ensuite l'utiliser dans le formulaire:sélectionnez comme toute liste. Exemple de code:
dans votre contrôleur
dans votre jsp
Crois que si vous passez sans papier.les valeurs de() comme un objet à votre page jsp, puis de déréférencer le nom et la description, vous obtiendrez les résultats souhaités.