jsp错误解决:Page directive: illegal to have multiple occurrences of contentType with different

jsp项目运行后页面报错

ARN:oejsh.ErrorHandler:qtp1335520301-21: EXCEPTION 
org.apache.jasper.JasperException: /WEB-INF/views/include/_head.jsp (line: 1, column: 2) Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html; charset=UTF-8, new: text/html;charset=UTF-8)
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:275)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:107)
    at org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:135)
    at org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:571)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
    at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
    at org.apache.jasper.compiler.Node$Root.accept(Node.java:464)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
    at org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:101)
    at org.apache.jasper.compiler.Node$IncludeDirective.accept(Node.java:635)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

解决问题

原来是包含页面与被包含页面的@page指令里面的contentType不一致,仔细检查两个文件第一行的 @page,包含页面的是:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

被包含页面:

<%@ page language="java" contentType="text/html;charset=utf-8" %>

果然contentType里面内容不一样,把两个文件第一行的@page内容改为一致,再执行程序,运行通过。
在这里插入图片描述

建议

建议在项目里全量替换:将所有jsp页面都加上@page 头内容值要一致。

发布了129 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ll837448792/article/details/104380441