Wicket - DropDownChoice avec l'objet Sélectionné
Im avoir un problème avec un DropDownChoice. J'ai pré-sélectionné un élément, mais chaque tutoriel et l'exemple que j'ai trouvé, ne tenir compte d'une liste de type primitif.
J'ai une liste d'Objet.
class myObject {
private String name;
private String surname;
[setter and getter]
}
Dans d'autres classe
List<MyObject> myList = some_data_retrieve();
MyObject defaultValue = some_simple_data_retrieve();
Pour construire le DropDownChoice im en utilisant les suivantes constuctor:
final DropDownChoice<T> ddc = new DropDownChoice<T>(id, data, new ChoiceRenderer<T>(choiceRendererExpression, choiceRendererIdExpression));
De cette façon:
final DropDownChoice<myObject> ddc = new DropDownChoice<myObject>("wicket_id", myList, new ChoiceRenderer<myObject>("name", "surname"));
Maintenant. Dans chaque tutoriel/exemple ils utilisent un autre constructeur avec un Modèle. Par exemple:
private static final List<String> SEARCH_ENGINES = Arrays.asList(new String[] {
"Google", "Bing", "Baidu" });
private String selected = "Google";
DropDownChoice<String> listSites = new DropDownChoice<String>(
"sites", new PropertyModel<String>(this, "selected"), SEARCH_ENGINES);
J'ai essayé quelque chose comme cela pour imiter appel de ce genre:
final DropDownChoice<myObject> ddc = new DropDownChoice<myObject>("wicket_id", new PropertyModel<myObject>(this,"defaultValue"),myList, new ChoiceRenderer<myObject>("name", "surname"));
Mais ce que j'ai est une erreur:
No get method defined for class: package$WicketPage expression: defaultValue
S'il vous plaît, m'aider à comprendre.
Grâce
OriginalL'auteur MrMime | 2012-04-27
Vous devez vous connecter pour publier un commentaire.
Cela signifie que vous devez ajouter un getter et setter de votre "valeur par défaut" à la page ou de la composante dans laquelle vous ajoutez le DropDownChoice.
OriginalL'auteur jordeu
PropertyModel
est un bon choix pour ce type de problèmes.MyObject
est un objet, et a une chaîne dename
.J'ai remplacer letoString()
méthode en elle de nom et qu'il fonctionne correctement.Je suggère l'utilisation de cette méthode.OriginalL'auteur Javid Dadashkarimi