Bonjour,

Je cherche à rendre mes actions struts génériques (au sens des "java generics"). Sauf que en debug je vois que l'objet qui représente le formulaire est de type Object, et pas du type dont j'espérais qu'il serait ...

Le reste utilise spring et hibernate (via JPA), au cas où le problème viendrait d'ailleurs.

La classe action générique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
public abstract class GenericAction<T, S extends GenericService<T>> implements Preparable {
 
    private S service;
    private List<T> entities;
    public T entity;
    private Integer id;
[...]
    public T getEntity() {
        return  entity;
    }
 
    public void setEntity(T entity) {
        this.entity = (T) entity;
    }
}
La classe qui hérite de la classe générique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
public class AutomaticAnswerAction extends GenericAction<ReponseAutomatique, AutomaticAnswer> {
 
}
Lors de l'éxecution, j'obtiens l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
WARNING: Could not find property [struts.valueStack]
ognl.NoSuchPropertyException: java.lang.Object.id
Et je ne comprends pas pourquoi entity est de type Object, et pas de type ReponseAutomatique ...

Si je remplace "T" par "ReponseAutomatique" dans l'action générique, forcément ca marche beaucoup mieux

Merci d'avance pour votre aide !