解決illegal to have multiple occurrences of conte...

若是遇見了illegal to have multiple occurrences of contentType with different values的問題 html

不用想  確定是編碼的問題gb2312或者utf-8或者ISO8859-1或者gbk什麼什麼 java

必定要注意編碼  否則一個小問題都整半天 apache

————————————————————————————————————————————————— app

解決illegal to have multiple occurrences of contentType with different values錯誤 jsp

做者:呂海鵬 文章來源:itstudy原創 發表時間:2008-9-27 12:01:40
閱讀次數:今日:3 本週:19 本月:24 總計:3972

今天寫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 頭內容這個asp正好相反的,並且值要一致。一個很小的錯誤,讓我調了2分鐘,網上信手搜索了一下竟然不少人也犯這樣的錯誤,並且竟然無從下手,想來你們只要英文稍微好些就看懂錯誤提示了,看來仍是咱們的基本功不紮實了,不紮實--沙上蓋樓,終不會高...... 編碼

相關文章
相關標籤/搜索