sports.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>
此代码生成一个xml文件,但它提示我提到保存它的位置。我想在没有任何提示的情况下在特定位置创建和存储xml文件,并且每次下一个输入值都是当前的应该覆盖xml文件。
答案 0 :(得分:1)
由于安全限制,您无法做到这一点。未经用户许可,您无法访问用户系统并开始编写文件。
答案 1 :(得分:0)
由于存在安全风险,您要求提供无浏览器想要提供的功能。您不希望浏览器在没有用户提示的情况下覆盖系统上的任意文件。
如果您确实需要这样做,则需要运行已签名的Applet或Web Start应用程序。有了这个,您有权在没有用户提示的情况下在本地编写。如果您不想购买官方证书,可以使用自签名证书对JAR文件进行签名。如果执行此操作,用户将在遇到有关证书的应用程序时收到提示。但是,一旦Applet / Web Start应用程序运行,您就可以在本地自由编写。
注意:您需要编辑您的问题,在JSP的每一行前插入四个空格,以便StackOverflow正确地自动格式化。