我正在使用带有richfaces的JSF开发简单的应用程序.我想上传文件夹(仅限选择文件夹).
我试过,t:inputFileUpload和rich:fileUpload.
但这两个组件都只是支持文件.不支持选择文件夹.
可以选择文件夹.
帮我.提前致谢
标准的HTML <input type="file">已经无法做到.因此<t:inputFileUpload>,只是简单地呈现HTML元素是不可能的.此外,由于安全限制,Flash也不允许选择文件夹.所以,这<rich:fileUpload>也是不可能的.
最好的办法是使用一个使用Swing的Java小程序,JFileChooser它允许您选择一个目录.然后,你可以写一个收集该文件夹中的所有文件,并通过它上传到服务器端的Java代码URLConnection或HttpClient的.然后你就可以通过普通的HTML/JS方式将这个applet嵌入到你的JSF页面中.相反,重新发明轮子的小程序,你也可以去为现有的第三方小程序像JumpLoader或JUpload.两者都支持上传整个目录.
最后,您需要将它与一个简单的vanilla servlet结合使用Apache Commons FileUpload来解析来自applet的文件上传请求.要让它与JSF交互,您可以在会话中存储一些唯一属性,或者使用会话范围内的JSF托管bean,该bean也可以在servlet中使用.我不确定JumpLoader或JUpload是否支持它,但技术上可以让applet通过JavaScript更新页面(允许通过JS/Ajax进行applet-JSF通信).
不,没有现成的第三方JSF组件可以做同样的工作.
| 归档时间: |
|
| 查看次数: |
2348 次 |
| 最近记录: |