设为首页
加入收藏
联系站长
您现在的位置: 网贝 >> 建站学院 >> JSP技术 >> Tapestry >> 文章正文 用户登录 新用户注册
十分钟搞定----在Tapestry实现文件上传与下载         ★★★★
十分钟搞定----在Tapestry实现文件上传与下载
相关网站:
作者:tomzhou 文章来源:tomzhou.blogchina.com|http://tomzhou.blogchina.com/ 点击数: 更新时间:2004-10-26

开发工具:

1。eclipse3.0 + spindle

2.容器:tomcat

开始:

1,首先,新建一个Tapestry工程文件,命名为upload,在向导里面有三个步骤,我基本是打入工程名就直接按回车了。新建好工程后,你可以看到一个典型的web目录,在 WEB-INF自动生成4个文件:

upload.appliaction tapestry的应用程序文件。

Home.html    tapestry的模版文件

Home.page    tapestry的定义的摸版的配置文件

web.xml

2.接着,再新建两个Tapestry page文件,各命名为Upload ,Download.(注意:要确认Generate an assiated HTML File,Ceate a new class被选定,对于要生成的.java我还是用Upload,Download来命名!);

对于生产.page和.jwc文件spindle提供了一个比较有用的向导,省了我好多工夫,呵呵。

3,现在就可以写代码了。

(1)Home.html

代码如下:

<html jwcid="@Shell" title="欢迎学习Tapestry!">

   <H1><FONT color="red">十分钟搞定----在Tapestry实现文件上传与下载</FONT></H1>
<body>  <p><a href="#" jwcid="@PageLink" page="Upload">上传文件</a></p>         <p><a href="#" jwcid="@PageLink" page="Dowload">下载文件</a></p>

</body></html>

(2) Upload.html

<html jwcid="@Shell" title="上传文件">
<body>
   <H1><FONT color="red">十分钟搞定----在Tapestry实现文件上传与下载</FONT></H1>
   <P><FORM jwcid="@Form" listener="ognl:listeners.submit">
     请选择你要上传的文件<input jwcid="@Upload" file="ognl:fileName" type="file"></input><INPUT type="submit" value="上传"/> 
  </FORM>
</body>
</html>

(3)Dowload.html

<html jwcid="@Shell" title="上传文件">
<body>
   <H1><FONT color="red">十分钟搞定----在Tapestry实现文件上传与下载</FONT></H1>

       <a href="#" jwcid="@DirectLink" listener="ognl:listeners.dowload">点击下载</a>
    </body>
</html>

4.到此,三个简单的html文件已经写好,接下来就实现java文件。

(1).,Upload.java

package wenone;

import org.apache.tapestry.IRequestCycle;import java.io.*;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.request.IUploadFile;

public abstract class Upload extends BasePage
{
    public abstract IUploadFile getFile();

    public void formSubmit(IRequestCycle cycle)
    {
        IUploadFile file = getFile();

        if (file == null)
            return;

        File newFile=new File(file.getFileName());

         file.write(newFile);//存到当前工作区
        cycle.activate("Home");
    }
}

5.Dowload.java

package wenone;

import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.html.BasePage;
import java.io.*;

public abstract class Download extends BasePage{

public void download(IRequestCycle cycle)
{

   File file=new File("file.zip");
    try
    {
        HttpServletResponse response =
        cycle.getRequestContext().getResponse();


        byte[] data = new byte[1024];
        FileInputStream in = document.getFileInputstream();


        response.setHeader("Content-disposition",
          "inline; filename=" +
           document.getFileName());
        response.setContentType(file.getMimeType());
        response.setContentLength(new Long(file.getSize()).intValue());
        ServletOutputStream out = response.getOutputStream();

        while (in.read(data) > -1)
        {
            out.write(data);
        }
        in.close();
        response.flushBuffer();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
}
6,接近尾声;有了spindle这个例子配置文件基本不用管了,呵呵。

发布到tomcat就可以运行了,http://localhost:8080/upload/app

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    相关网站:

    文章 下载 图片
    普通文章取代JSP的新技术-t
    普通文章[组图]下一代WEB开发
    普通文章十分钟搞定----在Ta
    普通文章Tapestry入门及进阶
    普通文章Tapestry入门及进阶
    普通文章[组图]Tapestry入门
    普通文章[图文]你好,Tapest
    推荐文章什么是Tapestry?
    推荐文章什么是Tapestry?
    普通文章把手教你写私服列表
    普通文章WEB标准
    普通文章GOOGLE sitemap官方
    普通文章用php定制404错误页
    普通文章WAP(wml)开发问答
    普通文章[组图]PS教程系列:快
    普通文章时使用apache和IIS,
    普通文章[组图]2005年的第一
    推荐文章[组图]彻底掌握IIS6
    推荐文章[组图]CSS 全攻略
    推荐文章各种脚本错误详解!
    推荐文章直接生成XML的Googl
    推荐文章九个常见的错误原因
    推荐文章Win XP家用版也能装
    推荐文章JSP入门初级教程之J
    推荐文章ASP入门及提高
    没有相关文章

    下一代WEB开发模式T

    Tapestry入门(译作

    你好,Tapestry 3.0
    (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    Copyright © 2003-2005 NetBei.com All rights reserved.