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

今天药忘吃喽~ 2023-07-06 11:55 75阅读 0赞

文章目录

    • jsp项目运行后页面报错
    • 解决问题
    • 建议

jsp项目运行后页面报错

  1. ARN:oejsh.ErrorHandler:qtp1335520301-21: EXCEPTION
  2. 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)
  3. at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
  4. at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:275)
  5. at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:107)
  6. at org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:135)
  7. at org.apache.jasper.compiler.Node$PageDirective.accept(Node.java:571)
  8. at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
  9. at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
  10. at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
  11. at org.apache.jasper.compiler.Node$Root.accept(Node.java:464)
  12. at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
  13. at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
  14. at org.apache.jasper.compiler.Validator$DirectiveVisitor.visit(Validator.java:101)
  15. at org.apache.jasper.compiler.Node$IncludeDirective.accept(Node.java:635)
  16. at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

解决问题

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

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

被包含页面:

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

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

建议

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

发表评论

表情:
评论列表 (有 0 条评论,75人围观)

还没有评论,来说两句吧...

相关阅读