Remplissage d'une liste deroulante en jsp

Fermé
mb42 Messages postés 432 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 14 janvier 2014 - Modifié par mb42 le 22/03/2011 à 07:56
mb42 Messages postés 432 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 14 janvier 2014 - 22 mars 2011 à 13:45
Bonjour,

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
<?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é
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

  
  
<%@ 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

request.setAttribute("socity",liste); 


j'espère que je peux trouvez une solution pour mon problème

merci d'avance

1 réponse

mb42 Messages postés 432 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 14 janvier 2014 7
22 mars 2011 à 13:45
moi je vous donne quel dois contenu la servlet et quel dois envoyer comme donné vers la page jsp (bien sur elle dois envoi une liste de String (en d'autre terme c 'est les nom des sociétés qui sont récupéré de fichier data.xml)

et je vous donne aussi le code java grâce auquel j'arrive a parser ce fichier

et je veux savoir la structure final de servlet( où je dois mettre le code de parser le fichier (dans la methode doGet ou doPost ou Service))
0