开发者社区 问答 正文

jsp中include指令与include动作的区别是什么?

jsp中include指令与include动作的区别是什么?

展开
收起
游客k7rjnht6hbtk6 2021-10-26 14:58:12 1619 分享 版权
2 条回答
写回答
取消 提交回答
  • JSP中的include指令在编译时包含文件,而include动作在运行时包含文件,选择哪种方式取决于是否需要动态或静态包含。如果有帮助,请帮忙采纳一下。谢谢。

    2025-02-09 16:44:41
    赞同 22 展开评论
  • Include指令是JSP指令元素一种,是在标签处静态插入一个文件。其可以在JSP页面转换成servlet之前,将JSP代码就插入其中。该JSP代码可以在总体上影响主页面的JSP的属性、方法定义和文档类型等的构造设定。相当于将被包含页面的代码复制到主页面。在最后编译时只形成一个class文件。

    Include动作是JSP动作元素的一个,是在当前JSP页面动态包含一个文件,即将当前的JSP页面,被包含的文件各自独立编译为两个字节码文件。当执行到该动作标签处时,才加载执行被包含的文件。被包含的文件中不能使用任何会影响主页面构造的代码。

    Include指令和动作的差别在于其被调用的时间, include指令在页面转换编译时就已经被激活,相较之更难维护,只要被包含的文件发生了变化,那么就要考虑所有用到这个文件的页面,都需要手动调整。而include动作是在执行时请求了才被激活,由于这个被包含的文件不含有影响主页面的构造,所以它发生了变动后,不用对主页面进行修改。它实际包含的是次级页面的输出结果,而非实际代码。

    此外,include指令实现的是静态包含,而include动作实现的是动态包含,前者不能传递参数,后者可以在两个文件之间传递参数。

    2021-10-26 14:58:42
    赞同 33 展开评论