这个是别人写的,很好
我用的最原始的方法解决了,
即在原页和处理页都改成了大写 UTF-8 问题就解决了
在一个项目jsp文件中包含了另一个jsp文件(proCitySelAll.jsp),执行出现如下错误:
2012-5-14 16:37:04org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException:/lightworkflow/sheet/depponOrder/proCitySelAll.jsp(1,2) Pagedirective: illegal to have multiple occurrences of contentType withdifferent values (old: text/html; charset=UTF-8, new: text/html;charset=utf-8)
atorg.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
atorg.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
atorg.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:236)
atorg.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:132)
atorg.apache.jasper.compiler.Node$PageDirective.accept(Node.java:608)
atorg.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
atorg.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
atorg.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
atorg.apache.jasper.compiler.Node$Root.accept(Node.java:495)
atorg.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
atorg.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
atorg.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:99)
atorg.apache.jasper.compiler.Node$IncludeDirective.accept(Node.java:656)
atorg.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
atorg.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
atorg.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
atorg.apache.jasper.compiler.Node$Root.accept(Node.java:495)
atorg.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
atorg.apache.jasper.compiler.Validator.validateDirectives(Validator.java:1723)
atorg.apache.jasper.compiler.Compiler.generateJava(Compiler.java:182)
atorg.apache.jasper.compiler.Compiler.compile(Compiler.java:347)
atorg.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
atorg.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
atorg.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
atorg.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:326)
atorg.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
atorg.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:717)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atorg.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
atorg.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
atorg.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
atorg.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
atorg.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
atorg.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
atorg.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
atorg.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
atorg.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:617)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:717)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atcom.hollycrm.service.system.web.PageCacheFilter.doFilter(PageCacheFilter.java:50)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atcom.hollycrm.service.license.LicenseFilter.doFilter(LicenseFilter.java:47)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atcom.hollycrm.service.system.security.web.filter.LoginUserInfoFilter.doFilter(LoginUserInfoFilter.java:167)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atcom.hollycrm.framework.web.filter.RequestEncodeFilter.doFilter(RequestEncodeFilter.java:46)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atcom.hollycrm.service.system.web.PageCacheFilter.doFilter(PageCacheFilter.java:50)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
atjava.lang.Thread.run(Thread.java:619)
proCitySelAll.jsp 代码是没有错的,因为在其它页面调用没有出错过。那么是主文件出错了,看了一下刚写的页面全是静态内容,没什么的?
仔细阅读错误信息:
Page directive: illegal to have multiple occurrences of contentTypewith different values (old: text/html;charset=utf-8, new:text/html;charset=utf-8)
原来是包含页面与被包含页面的@page指令里面的contentType不一致,仔细检查两个文件第一行的@page,
包含页面的是: