Voilà,

j'ai conçu mes classes de la manière suivante:

j'ai une classe mère abstraite qui s'appelle Service et j'ai des classes filles CocktailService, IngredientService et CategoryService.

J'ai des méthodes qui sont uniquement définies dans la classe mère comme la méthode getListmodel qui retourne une liste d' Object.


Voici un test qui marche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Service cockService = new CocktailService();
cockService.getListmodel(); // retourne bien une liste d'Object qui sont en fait des Cocktails.

dans ma jsp, je veux faire la même chose mais si j'écris le code ci-dessous, j'aurais l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Cannot get value for expression '#{cocktailService.listmodel}'

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    <h:dataTable value="#{cocktailService.listmodel}" var="cocktail">
	.......................
        .......................
	</h:dataTable>

En fait la méthode getListmodel est seulement définie dans la superclass.

Comment faire pour faire la même chose que mon test dans une page jsf
sans définir dé méthode getListModel dans ma classe CocktailService?

le code ci-dessous ne me convient pas car la classe Service est abstraite.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    <h:dataTable value="#{service.listmodel}" var="cocktail">
	.......................
        .......................
	</h:dataTable>