public File b( ){ File bb=null;
Window w=new Frame();
JFileChooser fd=new JFileChooser();
fd.showSaveDialog(null);
bb=fd.getSelectedFile();
w.add(fd);
w.setAlwaysOnTop(true);
return bb;
}
这是用于显示保存框的那段代码,当我从myEclipse启动项目的时候没问题,但是当我用直接在外面启动服务之后运行,就总是不弹那个保存框,到底是什么原因啊,求各位高手解答。

解决方案 »

  1.   

    你打算在Web服务器上弹出一个 JFileChooser? 这个属于严重的不理解Web系统要么你就用Applet去实现这种效果;要么你就依赖HTML提供的 <input type="file">
      

  2.   

    额,<input type="file">这个东西怎么用啊,能给个小例子吗
      

  3.   

    写过HTML或者JSP吧?<html>
    <body>
      <form method="post" action="URL地址" enctype="multipart/form-data">
      上传文件:<input name="ff" type="file">
      </form>
    </body>
    </html>
      

  4.   

    或者怎么用Applet实现?高手都去哪了?
      

  5.   

    我是用poi生成的excel,我该怎么用Applet直接实现保存框,实现保存功能。
    public String ExcelZone()throws Exception{
    File a=this.b();
    if(a==null){
    // System.out.println("into null");
    heatAcumList=(List<heatAcum>) ActionContext.getContext().getSession().get("dataset");
    // System.out.println(instHeatList.size());
    return "input";
    }
    String str=a.toString();
    str=str+".xls";
     HttpServletRequest request = ServletActionContext. getRequest();  
           ExportExcel ex = new ExportExcel();  
           List<heatAcum> dataset =(List<heatAcum>) ActionContext.getContext().getSession().get("dataset");
           List<ExcelZone> datasets=new ArrayList<ExcelZone>();
           for(int i=0;i<dataset.size();i++){
            datasets.add(new ExcelZone(dataset.get(i).getBuildName(),dataset.get(i).getUnitName(),dataset.get(i).getRoomName(),dataset.get(i).getStartHeatAcum(),
            dataset.get(i).getStartTime(),dataset.get(i).getEndHeatAcum(),dataset.get(i).getEndTime(),dataset.get(i).getHeatAcum())); 
           }
           String header="楼号,单元号,房间号,累积热量起码(kWh),起码查询时间,累积热量止码(kWh),止码查询时间,用量(kWh)";
           String[] headers=header.split(",");
           try  
           {  
            heatAcumList=(List<heatAcum>) ActionContext.getContext().getSession().get("dataset");
               OutputStream out = new FileOutputStream(str);  
               ex.exportExcel(headers, datasets, out);  
               out.close();
      

  6.   

    我又看了下你原始要求,你其实是要让最终用户从浏览器上下载你生成的Excel?那其实根本就不需要弹出什么文件选择框,页面上直接:<a href="/xxoo/servlet/download" >然后你写个Servlet,负责将生成的Excel按照二进制流写入:response.getOutputStream()至于下载目录选择啥的,浏览器会自行帮你搞定。