2010-03-25 5 views
0

Mes problèmes est dans une action Struts2, oùComment déclarer une action Generics dans un fichier struts2.xml?

J'ai une classe:

public class MyAction<T> extends ActionSupport 

avec un député comme celui-ci:

private T myData; 

Et je voudrais déclarer aciton dans le struts.xml fichier, comment puis-je réussir à le faire ?

Merci pour la réponse.

Ps: J'ai essayé sans déclaration de T, mais cela n'a pas

Répondre

1

Par exemple, vous ne pouvez pas obvioulsy écrire (en struts- XX.xml)

<action name="doSomething" class="xx.xx.MyAction<java.util.Date>"> 

Mais vous pouvez coder facilement une classe (sorte d'alias) pour chaque paramétrisation vous avez l'intention d'utiliser.

public class MyAction_Date extends MyAction<java.util.Date> {} 

puis:

<action name="doSomething" class="xx.xx.MyAction_Date"> 
+0

Jusqu'à ce que struts2 permette de déclarer une paramétrisation de type spécifique dans son fichier de configuration, cette solution est la meilleure, et je l'ai utilisée! Merci beaucoup. zo – rasata

0

En struts2 l'objet d'action est instancié par le cadre pour chaque demande. Ensuite, je ne pense pas que vous pouvez utiliser une classe paramétrée pour cela. (sauf si entretoises vous permet de spécifier une paramétrisation de classe particulière, disent MonAction < Date de >, pour une mise en correspondance d'action particulière - Je ne pense pas que cela permet que)

+0

C'était mon point, je voudrais préciser une paramétrisation particulière pour une application particulière, et je ne sais pas si struts2 permettre que – rasata

+0

Non, mais vous pouvez facilement codez une classe (sorte d'alias) pour chaque paramétrisation que vous avez l'intention d'utiliser. Voir mes autres réponses – leonbloy

Questions connexes