[Struts] Savoir quel link a lancé l'action
Bonjour,
Je suis sous Struts, et je viens de faire un formulaire qui m'affiche une liste de personnes dans un select, et qui après validation m'affiche une vue en fonction de la personne selectionnée.
Ce que j'aimerai c'est réutiliser ce formulaire de choix de personne, mais le faire aller sur une autre vue.
je voudrais avoir ce menu :
Code:
1 2
|
<html:link action="accueil">Accueil</html:link> |<html:link action="choixAgent">Gestion arrêts</html:link> | html:link action="choixAgent">Base du personnel</html:link> |
Voici la definition de l'action :
Code:
1 2 3 4 5
|
<action input="/choixAgentForm.jsp" name="ChoixAgentForm" path="/choixAgent" scope="session" type="com.myapp.struts.Action.ChoixAgentAction">
<forward name="afficheListeAgents" path="site.choixAgentForm.page"/>
<forward name="afficheListeArrets" path="site.listeArretsAgent.page"/>
</action> |
l'Action en question :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
int id=0;
if (request.getParameter("idAgent")!=null)
id = Integer.parseInt(request.getParameter("idAgent"));
if (id>0){
// récupère la liste des arrets de l'agent choisi et la place en request
ListeArrets liste = new ListeArrets();
liste.initListeArretsAgent(id);
request.setAttribute("listeArrets",liste);
// Récupère le Bean de l'agent et le place en request
AgentBean agent = new AgentDAO().getAgentByNo(id);
request.setAttribute("agent",agent);
return mapping.findForward("afficheListeArrets");
} else{
ChoixAgentForm c=(ChoixAgentForm) form;
c.setListeAgents(new AgentMetier().getListePourSelect());
return mapping.findForward("afficheListeAgents");
}
} |
Je voudrais donc pouvoir placer un paramètre à mes link situés dans le menu, afin que dans la classe Action ci-dessus, je puisse savoir de quel lien vien l'appel, et agir en fonction.
Ca me permettrai de ne pas avoir à créer une action de plus.
A moins que ce ne soit pas conseillé...
merci d'avance !