2008-11-04 4 views
2

J'ai un Tapestry PropertyModel pour le genre. À l'heure actuelle, la liste déroulante montre simplement Homme et Femme parce que ce sont les seules valeurs de mon modèle. Je voudrais ajouter une option "Choisir une option". Existe-t-il une manière standard de faire ceci sans devoir ajouter une fausse valeur à mon modèle? Je voudrais aussi qu'il soit assez intelligent pour savoir que si le champ est requis, ils ne peuvent pas le laisser sur "Choisir une option".Y at-il un moyen facile d'ajouter une option "Choisir" à une liste déroulante Tapestry PropertyModel

Répondre

2

Sur Tapestry 5, vous venez de définir la propriété blankLabel. Sur Tapestry 4, il est plus facile de simplement ajouter cette fonctionnalité à votre PropertyModel ou de l'enrober sur un LabeledPropertySelectionModel comme Brian l'a déjà mentionné (vous pouvez regarder cette classe dans JavaDoc pour votre version de Tapestry). Sur Tapestry 3, vous devez ajouter cette fonctionnalité à votre modèle car LabeledPropertySelectionModel a été introduit dans la version 4.

1

Une solution consiste à utiliser le LabeledPropertySelectionModel pour envelopper le modèle réel comme:

new LabeledPropertySelectionModel(new GenderModel(), "Choose an Option") 

Javadoc pour cette classe dit:

Décore un IPropertySelectionModel sous-jacente ajouter une propriété initiale. L'option label et la valeur de la propriété initiale sont configurables.

Questions connexes