bonsoir tout le monde,
je suis entraint de developper une application web avec struts et j'utilise un dispatchAction dans une page qui fait:
-une recherche
-et un affichage des résultats dans la meme page sous forme lien
-chaque lien en cliquant dessus doit normalement me dériger vers une autre page qui contient des informations plus complete sur le résultat de la 1ere page.
donc j'ai besoin de passer un parametre avec ma requete qui est l'identifiant de chaque résultat.
donc ma page enfin contien 2 actions le probleme est je ne peut pas mettre un boutton pour lancer la recherche et un lien pour les résultats car normalement ca ne fonctionne pas comme ca le DispatchAction.
donc j'ai été obligé de transformer mon boutton Qui lance la recherche en un lien :
le probleme est alors : le <html:link> rafréchit la page en cliquant dessus donc le contenu des champ est perdu et donc je ne peut pas le récupéré dans mon action et plus précisément dans la méthode "rech":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<html:link action="RechAction.do?do=rech">rechercher</html:link>
merci de m'aidé et s'il y a une autre solution pour ce faire je suis à l'écoute.
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 public class RechAction extends DispatchAction { public ActionForward rech(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RechBean frm=(RechBean)form; DBAccess bd=new DBAccess(); if(frm.getChoix().length == 0) { ActionErrors errors=new ActionErrors(); errors.add("choix",new ActionError("recherche.erreur.choix.vide")); saveErrors(request,errors); } else { ArrayList cand=bd.rechercher(frm.getChoix()); if(cand.size() > 0) { frm.setCand(cand); request.getSession().setAttribute("test",new Boolean(true)); } else if(cand.size() == 0) { request.getSession().setAttribute("test",new Boolean(false)); frm.setCand(null); } } return mapping.getInputForward(); } public ActionForward aff(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { return mapping.findForward("afficher"); } }
Partager