使用XWAF框架(3)——下载文件
XWAF提供了HttpFileDownloader类用于简化用户下载文件的编码。该类提供了重载方法“downloadFile(String filePath, String fName)”实现下载。程序员可以编写自己的HttpHandler类和方法,并调用HttpFileDownloader类的downloadFile(String filePath, String fName)方法实现下载功能。
一个更加简便的实现,是使用DownloadServlet类。使用XWAG插件生成用户Web项目代码时,会生成一个“DownloadServlet”类文件,网络访问地址(URL)为:“servlet/Download.servlet”(也就是从网站根目录开始,在虚拟servlet目录下有文件“Download.servlet”——注意:实际上不存在该虚拟目录!)。
开发人员进行应用扩展开发时,可以编写自己的下载页面,并将form的action属性值设置为“servlet/Download.servlet”。当然要注意理清下载页面与该URL的相对路径关系!
如果下载页面在网站的根目录:
action=“servlet/Download.servlet”;
如果下载页面在子目录中,则应当先回溯到根目录,属性值将变成类似于下面的形式:
Action =“../servlet/Download.servlet”
当然,你必须使用input标记元素向服务器提交被下载资源文件的地址,并遵守如下约定:
1)所有标识下载资源文件地址的input标记的name属性值,都必须统一设置为“DownloadFileNames”;
2)所有标识下载资源文件地址的input标记的value属性值,都应该设为“被下载资源文件相对于网站根目录的路径和文件名”。
3)input标记的type属性建议设置为checkBox(用户可选择下载项)或hidden(用户必选下载项时可用)。