在前面一篇日志: 理解和灵活应用 Struts2 的文件下载功能 还留下一个问题,在 Servlet 中支持文件下载功能时,客户保存下载文件所用的字符集总是 ANSI(ISO8859-1), 如何能设定客户保存文件用的字符集呢?像 BlogJava 的备份数据功能下载后就是用的 UTF-8 字符集的。 自己作了一些尝试,总是无济于事,看如下代码是 Servlet 的 doGet() 方法:
Read More1public void doGet(HttpServletRequest request, HttpServletResponse response) 2 throws ServletException, IOException { 3 4 // PrintWriter out = response.getWriter(); 5 PrintWriter out = new PrintWriter(new OutputStreamWriter(response 6 .getOutputStream(), "UTF-8")); 7 8 response.setContentType("text/plain;charset=UTF-8"); 9 response.setHeader("Content-Disposition","attachment;filename=down.txt"); 10 out.write("Servlet download file test"); 11 out.close(); 12}
Struts 的官方网站 http://struts.apache.org/2.0.11/index.html 列出了 Struts 2 的平台要求有三:
· Servlet API 2.4
· JSP API 2.0
· Java 5
但如果坚持要用 Java 4 也行,Struts 2 在 j4 目录下提供有用 retrotranslator 转换过的 struts2-core-j4-2.x.x.jar 和 xwork-j4-2.x.x 可用。
就是说换两个包可以 让 Struts 2 用 Java 4 环境中,但是未提及能不能用于 Servlet API 2.3/JSP API 1.2 的环境。 Read More