comm/no-cache.jsp的内容为:
<%
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
if(request.getProtocol().equals("HTTP/1.1"))
response.setHeader("Cache-Control", "no-cache");
%>
我把这些内容复制到原来的页面,代替<%@ include file="comm/no-cache.jsp"%>就不会错.

解决方案 »

  1.   

    到tomcat的work目录看jsp的.java文件,发现
            try {
          _jspxFactory = JspFactory.getDefaultFactory();
          response.setContentType("text/html;charset=utf-8");
          pageContext = _jspxFactory.getPageContext(this, request, response,
           null, true, 8192, true);
          application = pageContext.getServletContext();
          config = pageContext.getServletConfig();
          session = pageContext.getSession();
          out = pageContext.getOut();
          _jspx_out = out;      out.write('&#65279;<>(');
          out.write('?(');
          out.write('?&'); response.setDateHeader("Expires", 0);
    response.setHeader("Pragma", "no-cache");
    if(request.getProtocol().equals("HTTP/1.1"))
    response.setHeader("Cache-Control", "no-cache");      out.write(")$>");开头的地方会打印乱码出来.
    如果在调用的jsp页面,写 <%@ page contentType="text/html; charset=utf-8"%>
    会报编码重复的错误.