教你运用WEBWORK上传文件的妙方

Windows XP是美国微软公司研发的基于X86、X64架构的PC和平板电脑使用的操作系统,于2001年8月24日发布RTM版本,并于2001年10月25日开始零售 。其名字中“XP”的意思来自英文中的“体验(Experience)” 。该系统是继Windows 2000及Windows ME之后的下一代Windows操作系统,也是微软首个面向消费者且使用Windows NT5.1架构的操作系统 。大家都知道webwork简洁、灵活功能强大,它是一个标准的Command模式框架实现,并且完全从web层脱离出来,致力于组件化和代码重用的J2EE Web框架,但是你不知道它的另一项不错的作用,那就是还可以利用使用WEBWORK实现文件上传,下面就给大家讲讲如何使用WEBWORK实现文件上传方法.
webwork利用ognl实现的资料绑定是非常实用的功能, 能够避免繁琐调用request.getParameter, object setter, 也不需要任何的多余配置文件, 再加上转换器的功能, 我们就可以用一个业务对象, 从前台一直串到后台, 再也不需要考虑String转化, 不需要DTO, 不需要FormBean了.
能够把web应用上常见的上传文件也用数据绑定来实现, 那么就是非常完美了: action再也不需要了解任何web信息, 需要对具体的Object进行操作, 就调用getObject, 需要对用户上传的文件进行操作, 就调用getFile.
【教你运用WEBWORK上传文件的妙方】在webwork2.1.5以前,也有详细介绍这一问题的,在2.1.5以后, 这个拦截器被加入了正式release版本里面: com.opensymphony.webwork.interceptor.FileUploadInterceptor
先来看一下我们的Action:
代码

教你运用WEBWORK上传文件的妙方

文章插图
我们可以看到这个Action相当的简单, 只要定义一个File类型的属性以及setter, 我们就可以用这个File对象来作任何事情了.
页面和普通的upload页面没有区别:
代码

教你运用WEBWORK上传文件的妙方

文章插图
需要注意栏位名称和Action的属性同名就可以了, 剩下的事情就是配置拦截器:

    推荐阅读