爱问知识人 爱问教育 医院库

如何使用WEBWORK实现文件上传?

首页

如何使用WEBWORK实现文件上传?

如何使用WEBWORK实现文件上传?

提交回答

全部答案

    2018-03-27 11:06:43
  •   webwork利用ognl实现的资料绑定是非常实用的功能, 能够避免繁琐调用request。getParameter, object setter, 也不需要任何的多余配置文件, 再加上转换器的功能, 我们就可以用一个业务对象, 从前台一直串到后台, 再也不需要考虑String转化, 不需要DTO, 不需要FormBean了。
       能够把web应用上常见的上传文件也用数据绑定来实现, 那么就是非常完美了: action再也不需要了解任何web信息, 需要对具体的Object进行操作, 就调用getObject, 需要对用户上传的文件进行操作, 就调用getFile。
       在webwork2。1。5以前, wiki上有一篇文档: http://wiki。opensymphony。com/display/WW/File+Upload+Interceptor, 介绍了如何实现这种做法, 在2。1。5以后, 这个拦截器被加入了正式release版本里面: com。
      opensymphony。webwork。interceptor。FileUploadInterceptor 先来看一下我们的Action: 代码 public class Upload implements Action { private File[] uploadFiles; public String execute() throws Exception { //store uploadFiles 。
      。。 } public void setUploadFiles(File[] uploadFiles) { this。uploadFiles = uploadFiles; } } 我们可以看到这个Action相当的简单, 只要定义一个File类型的属性以及setter, 我们就可以用这个File对象来作任何事情了。
       页面和普通的upload页面没有区别: 代码 。。。。 File 1: File 2: 需要注意栏位名称和Action的属性同名就可以了, 剩下的事情就是配置拦截器: xml 代码 。。。 除此之外, 这个拦截器还提供了额外的信息: ContentType和FileName供我们使用: [File Name]ContentType: 文件的ContentType(可以用在做download的时候) [File Name]FileName: 实际的文件名 在上面的action例子里, 那么有uploadFilesContentType和uploadFilesFileName这2个属性, 也能够被自动绑定。
       具体的代码可以参考webwork的upload example 结论:灵活运用拦截器可以让原本复杂,繁琐的工作变得轻松,简单。 另补充几点: webwork的文件上传实际上是封装了几种通用的File Upload lib,并不是自己实现的,这它包括了pell,cos,apache common三种实现。
       cos是oreilly的包,访问地址在http://servlets。com cos包的功能是最全面的,也是我最喜欢用的文件上传lib apache common 是apache的common中的一个 pell的来源我没有考证过。 webwork对这三个包的封装有些类似apache common logging,提供了一个通用的访问接口,至于具体用什么,则在webwork。
      properties中配置。

    苦***

    2018-03-27 11:06:43

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):