2009-02-10 10 views
0

sports.jsp:Comment créer un fichier XML à un endroit particulier de la sortie générée par page jsp

<?xml version="1.0" encoding="UTF-8"?> 

<%@ page contentType="text/xml;charset=ISO-8859-1" %> 
<% response.setHeader("Content-Disposition", "attachment; filename=\"playlist.xml\""); %> 
<playlist version="1" xmlns = "http://xspf.org/ns/0/"> 
    <title>My Band Rocks Your Socks</title> 
    <trackList> 
    <%! String[] sports; %> 
    <% 
     sports = request.getParameterValues("sports"); 
     if (sports != null) 
     { 
     for (int i = 0; i < sports.length; i++) 
     { 
      // out.println (sports[i]); 
      String total=sports[i]; 
      String[] sa=total.split("[,]"); 
      // String[] sub=new String(); 
      out.print("<track>"); 
      for (int j=0;j<sa.length;j++) 
      { 
       // out.println(sa[j]); 
       // out.println("sa["+j+"]="+sa[j]); 
       if(j == 0) 
       { 
        out.print("<location>" + sa[0] +"</location>"); 
       } 
       else if (j == 1) 
       { 
        out.print("<image>" + sa[1] +"</image>"); 
       } 
       else if(j==2) 
       { 
        out.print("<title>" + sa[2] +"</title>"); 
       } 
      }// end of inner for loop() 
      out.print("</track>"); 
      //out.println(); 
     }// end of outer for() 
     } 
     //else out.println ("<b>none<b>"); 
    %> 
    </trackList> 
</playlist> 

Ce code génère un fichier xml, mais il me invite à mentionner l'endroit où l'enregistrer. Je veux créer et stocker le fichier XML à un emplacement particulier sans aucune invite et chaque fois pour les prochaines valeurs d'entrée, le fichier xml en cours doit être remplacé.

Répondre

0

Vous demandez une fonctionnalité qu'aucun navigateur ne souhaite fournir, en raison des risques de sécurité. Vous ne voulez pas qu'un navigateur puisse écraser un fichier arbitraire sur le système sans invite utilisateur.

Si vous avez vraiment besoin de faire cela, vous devez exécuter une application signée Applet ou Web Start. Avec cela, vous avez la permission d'écrire localement sans une invite de l'utilisateur. Si vous ne souhaitez pas acheter un certificat officiel, vous pouvez utiliser un certificat auto-signé pour signer vos fichiers JAR. Si vous faites cela, l'utilisateur recevra une invite lorsqu'il rencontrera votre application à propos du certificat. Cependant, une fois que l'application Applet/Web Start est en cours d'exécution, vous pouvez écrire localement.

Note: Vous devez éditer votre question pour insérer quatre espaces devant chaque ligne de votre JSP, afin qu'il soit formaté correctement et automatiquement par StackOverflow.

1

Vous ne pouvez pas le faire en raison de restrictions de sécurité. Vous ne pouvez pas accéder au système utilisateur et commencer à écrire des fichiers sans l'autorisation de l'utilisateur.

Questions connexes