jsp include的相关坑

最近还是发现后端开发笔记的模式不太好,不太利于文章的检索和自己的复习,所以还是按照知识点进行记录

今天遇到的一个坑是<%@include %>指令,这个指令是用于静态导入另一个jsp文件,比如一些页面的头部等,它有一个file属性用来指定文件的路径。include加载的顺序是 优于该jsp页面其他元素的,也就是说它只是简单地去导入file指定的jsp文件

具体遇到的坑是这样的,我在include指令前面指定了ctx 然后在file中使用了ctx,但是错误提示是找不到这样的路径,究其原因还是因为include 首先执行而这个ctx还没有被定义,所以就出现了这样的问题。

JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行。include 指令中的文件名实际上是一个相对的 URL 地址。
如果没有给文件关联一个路径,JSP编译器默认在当前路径下寻找。

所以在日常的开发中,还是file="/WEB-INF/....."这样的方式是比较好的,也就是说file中使用一些动态的元素是不太管用的,还是要写死。

第二点需要注意的是A中include B,那么B的<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>要与A中的一致,否则也会出现错误,之前遇到的问题就是IDE模板定义的contentType在charset前面的;有一个空格,导致了编译出错

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,385评论 19 139
  • 1.什么是JSP (1)jsp全称是Java Server Pages,它和Servlet技术一样都是sun公司定...
    yjaal阅读 9,047评论 5 99
  • 什么是jsp? 很久之前,我们的网页都是静态的,就是我们所看到的页面在编写好之后总是唯一的。后来有人便提出动态页面...
    ezsync小智阅读 5,442评论 0 13
  • 这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答...
    杂货铺老板阅读 5,238评论 0 10
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,929评论 18 399