Utilisation d'une méthode Java sur un bouton HTML
Bonjour,
Je développe actuellement une application d'administration de comptes.
C'est un servlet dont le code utilise du java et du HTML. J'ai une liste déroulante défini sous HTML de name 'lst_login' qui se remplit grace à des logins récupérés depuis un fichier XML. J'aimerais lorsque je sélectionne ensuite tel ou tel login pouvoir récupérer différentes informations comme le nom, prénom ... (ces informations se trouvant dans mon fichier XML).
Il faut donc que je récupère le login selectionné par l'utilisateur mais je ne vois pas comment faire.
Faut-il que je code en java une méthode pour pouvoir récupérer le login sélectionné et donc par la suite garce à un parcours du fichier XML les données nom, prénom (mais le problème est comment j'applique cette méthode ensuite au bouton Afficher qui est un bouton HTML ?) ???
Je ne vois pas comment faire ....
Voici mon code :
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
| import javax.servlet.*;
import javax.servlet.http.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import java.io.*;
import org.w3c.dom.Document;
import java.awt.*;
public class ServletAdmin extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<H4><center><br>Administration des Comptes </br></center></H4>");
out.println("Choisir un login : ");
out.println("<SELECT name='lst_login' size=1 >");
try{
// création d'une fabrique de documents
DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
// création d'un constructeur de documents
DocumentBuilder constructeur = fabrique.newDocumentBuilder();
// lecture du contenu d'un fichier XML avec DOM
File xml = new File("/ubs/home/etud/2007/e0700714/UE5/Chat/uti.xml");
Document document = constructeur.parse(xml);
Element racine = document.getDocumentElement();
NodeList liste = racine.getElementsByTagName("login");
for(int i=0; i<liste.getLength(); i++){
Element e = (Element)liste.item(i);
out.println("<OPTION>"+e.getFirstChild().getNodeValue());
}
}catch(ParserConfigurationException pce){
out.println("Erreur de configuration du parseur DOM");
out.println("lors de l'appel à fabrique.newDocumentBuilder();");
}catch(SAXException se){
out.println("Erreur lors du parsing du document");
out.println("lors de l'appel à construteur.parse(xml)");
}catch(IOException ioe){
out.println("Erreur d'entrée/sortie");
out.println("lors de l'appel à construteur.parse(xml)");
}
out.println("</SELECT>");
out.println("<input type='button' text='Aff' value='Afficher'>");// onClick="+afficher()+">");
out.println("<br>");
out.println("<br>");
out.println("<title>Administration des Comptes</title>");
out.println("</head>");
out.println("<body>");
out.println("<table style='width: 30%; text-align: left; margin-left: 2em; margin-bottom: 2em;' border='1' cellpadding='2' cellspacing='2'>");
out.println("<tr><td> Login </td> <td> <input type=text name=login></td></tr>");
out.println("<tr><td> Nom </td> <td><input type=text name=nom></td></tr>");
out.println("<tr><td> Prenom </td> <td><input type=text name=prenom></td></tr>");
out.println("<tr><td> Adresse Mail </td> <td><input type=text name=mail></td></tr>");
out.println("<br>");
out.println("</table>");
out.println("<input type='button' text='Supp' value='Supprimer'>");
out.println("</body>");
out.println("</html>");
}
}
/* private void afficher() {
Choice c = new Choice();
if (c.getSelectedItem() == "") {
System.out.println("Choisir un login");
}else{
int n;
n=c.getSelectedIndex();
System.out.println("Indice :"+n);
}
}
}*/ |
Si une ame charitable pouvait m'aider ...
Merci d'avance !