salut,

mon but est de remplir une liste déroulante dans une page JSP à travers

une servlet.

la servlet dois retourne une liste des String.

et dans la page jsp je dois parcourir cette liste de String et à l'aide de cette liste je dois remplir la liste déroulante.

si on parle un peu de contenu de cette liste de String ces sont les noms de mes societes qui sont récupérés de fichier data.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<societes>
   <societe>
      <nom>tochiba</nom>
      <domaine>info</domaine>
   </societe>
 
 
   <societe>
      <nom>HR</nom>
      <domaine>info</domaine>
   </societe>
 
</societes>
donc je dois mettre dans la servlet le code java qui dois parser ce fichier et qui retourne une liste de String

pour ce code c'est celle ci et il est testé

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
SAXBuilder sxb=new SAXBuilder();
                List<String> liste=new ArrayList<String>();
		try {
			Document document=sxb.build(new File("data.xml"));
			Element societes=document.getRootElement();
			List<Element> soc=societes.getChildren();
 
 
                        for(Element societe:soc){
 
 
				String nom=societe.getChild("nom").getText();
                                liste.add(nom);
 
			}
 
 
		} catch (JDOMException e) {
 
			e.printStackTrace();
		} catch (IOException e) {
 
			e.printStackTrace();
		}
pour la page jsp je pense que je dois mettre un code comme celle ci

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
 
 
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>exemple</title>
</head>
<body>
<%@ page import="java.util.ArrayList" %>
<%
ArrayList<String> liste = (ArrayList) request.getAttribute("socity");
%>
 
<select name="itemSelected">
<%
        for (int i=0; i<liste.size(); i++)
        {
                String item= (String) liste.get(i) ;
%>
	   <option value="<%=item%>"><%=item%></option>
<%
        }
%>
</select>
</body>
</html>

et pour la servlet elle doit contient autre que le code java qui j'ai déjà mentionné (code de parcour de fichier data.xml)

cette ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
request.setAttribute("socity",liste);
j'espère que je peux trouvez une solution pour mon problème

merci d'avance