就是把查询出来的数据生成xml文件后,在客户端显示
我现在生成的xml都是生成在服务器端的
我想把它生成在客服端像下载一样!
我不希望是在服务器中生成xml后,再让客户去下载,
我所希望的是直接让客户端点击‘生成xml’按钮后,就直接在客户端生成!
要求用java实现的!

解决方案 »

  1.   

    后台:
    String def = new SAXReader().read(new ByteArrayInputStream(字节数组).asXML();

    request.setAttribute("def", def);
    前台界面:<pre><c:out value="${def}" escapeXml="true" /></pre>
      

  2.   

    你不在服务器端生成硬盘文件就行了啊,你new一个File,把数据写入这个File,然后直接把这个文件用流的形式返回到页面就行了
      

  3.   

    希望在前台产生XML?
    那么就使用JSON字符串,从后台获取数据
    然后在前台使用JS来生成XML文件就好了.这个实现起来的难度没有多少.
      

  4.   

    回头看了一下LZ的要求   Java实现在前台生成XML?   期待LZ的答案..
      

  5.   

    客户端点击‘生成xml’按钮后,就直接在客户端生成。。 
    你放在客户端什么地方!!
    //写入json数据  可以换成你的xml数据
    BufferedWriter outer = null;
    public void write(List<String> l) throws IOException{
    response.setContentType("application/json");
    String path =ServletActionContext.getServletContext().getRealPath("/");
        File file = new File(path+"permission.json");
    try {
     outer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8")); //写入编码为utf-8的文件
    for(int i = 0 ;i<l.size();i++){
    try {
    outer.write(l.get(i)+"\n");
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    outer.close();
    } catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    其实在客户端还是服务器上都是 一个地址的问题  如果 你想写到  哪里  改 path  就可以 !!