Bonjour,
je code une application web utilisant jsp et struts
sur cette page j'ai deux combobox(Typeactivite), lors de la sélection dans la premiere je dois remplir la deuxieme avec la liste des activités du type sélectionné
j'utilise une fonction ajax pour appeler l'action struts ...
mon problème se situe pour le remplissage de cette combobox comment faire?
j'ai essayé le request.getSession().setAttribute("list",resultat)
mais la il reaffiche toute la page en surplus de l'ancienne partie.le problème est donc que l'affichage est mauvais mais egalement que si on reaffiche la premiere combo en premiere position on a plus le type d'activité choisi.
quelqu'un aurait-il une piste? j'ai pensé à ce que l'action retourne directement la combo mais je ne sais comment faire cela.
voici mon code(j'ai réussi à retourner un message dans ma jsp mais pas plus)

======le script================
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
<script type="text/javascript">
            function changeCat()
            {
                alert("ici");
                var selectType = document.forms[0].combotype.value;
                showActivites(selectType) ;
            }
 function showActivites(selectType)
{
  var xmlhttp=false; if (!xmlhttp && typeof XMLHttpRequest!='undefined') {   xmlhttp = new XMLHttpRequest(); }
alert("i"+selectType);
xmlhttp.open("GET", "activites.do?i="+selectType);
 
    xmlhttp.onreadystatechange = function()  {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
      {
         // document.
           var d = document.getElementById('act');
           d.innerHTML = xmlhttp.responseText;
 
      }
 
    }
    xmlhttp.send(null);
}
-------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<html:select property="combotype" onchange="changeCat();">
-------------------------------------------
===l'action===
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public ActionForward execute(ActionMapping mapping, ActionForm  form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {     
        String type = request.getParameter("i");
        List<Activite> liste=lookupFacadeBean().getAllActiviteByType(Integer.parseInt(type));
        request.getSession().setAttribute("listeact", liste);
 
         response.setContentType("text/html");
 
           PrintWriter out = response.getWriter();
           out.println("eh oui");
           out.flush();
 
        return mapping.findForward(SUCCESS);