注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

★柳暗花明★

似水年华,诠释着无力的永恒······

 
 
 

日志

 
 

解决illegal to have multiple occurrences of contentType with different values错误  

2010-10-28 16:27:14|  分类: JAVA&&JSP经典 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

今天写jsp程序,在一个文件中包含了另一个文件(checkPurview.jsp)来做权限验证,可执行候却出现执行错误:

org.apache.jasper.JasperException: /admin/adminUser/../incs/checkPurview.jsp(1,1) Page directive: illegal to have  
multiple occurrences of contentType with different values (old: text/html; charset=utf-8, new: text/html;charset=utf-8) 
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) 
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) 
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:236) 
    org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:133) 
    org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:590) 
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343) 
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393) 
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2399) 
    org.apache.jasper.compiler.Node$Root.accept(Node.java:489) 
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343) 
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393) 
    org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:100) 
    org.apache.jasper.compiler.Node$IncludeDirective.accept(Node.java:638) 
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343) 
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393) 
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2399) 
    org.apache.jasper.compiler.Node$Root.accept(Node.java:489) 
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343) 
    org.apache.jasper.compiler.Validator.validate(Validator.java:1700) 
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:165) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:314) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:294) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:281) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 

checkPurview.jsp 代码是没有错的,因为在其它页面调用没有出错过。那么是主文件出错了,看了一下刚写的页面全是静态内容,没什
么的?
仔细阅读错误信息:
Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html; charset=utf-8, 
new: text/html;charset=utf-8)
中文大致意思:多个不同的ContentType值是非法的。
意思理解了:包含页面与被包含页面的@page指令里面的contentType不一致,仔细检查两个文件第一行的 @page,
 包含页面的是:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> 
被包含页面:
<%@ page  language="java" contentType="text/html;charset=utf-8"  pageEncoding="utf-8"%> 

果然contentType="text/html;和charset=utf-8"之间多了一个空格,删除空格,使得两个文件的@page内容一致,再执行程序,运行通过。
我试着在一个里面加上一个空格再次出现了同样的错误。

总结:被包含页面和包含页面必须都加上@page 头内容,而且值要一致。一个很小的错误,让我调了2分钟,网上信手搜索了一下居然很多人也犯这样的错误,而且居然无从下手,想来大家只要英文稍微好些 就看懂错误提示了,看来还是我们的基本功不扎实了,不扎实-->沙上盖楼,终不会高......

 

FROM:Internet--->吕海鹏

  评论这张
 
阅读(2143)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017