[JSP include使用上下文属性的指令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[JSP include使用上下文属性的指令相关的知识,希望对你有一定的参考价值。

我在JSP页面中使用include指令,并且可以很好地处理类似这样的语句:

<%@include file="/WEB-INF/includes/header.jsp"%>

但是我想要的是不在那里写原始代码,所以我可以使用指向“ / WEB-INF / includes /”的上下文属性“ includes_dir”。

我如何在include指令内使用这些属性?


PS:

  • [我曾经在JSP代码中编写${applicationScope['includes_dir']}来获取字符串,但是在那儿不起作用。

  • 如果我写(String) application.getAttribute("includes_dir"),就像我过去在Java代码中做的那样以获取字符串,并且它也不获取字符串。

答案
  • 如果您要进行静态包含(),则所包含文件的主体放置在该文件的doGet(..)方法中生成的servlet(每个JSP都转换为servlet),因此从逻辑上讲,原始请求对象可在此处访问。

  • 如果您要进行动态包含(),在后台使用RequestDispatcher.include(..)。尽你所能看到,它需要一个ServletRequest参数,这意味着原始请求在那里传递。


最后,避免在JSP文件中使用Java代码。使用EL和JSTL。因此,它不是$ {object}。而不是request.getAttribute(“ object”)。

以上是关于[JSP include使用上下文属性的指令的主要内容,如果未能解决你的问题,请参考以下文章

jsp基础语言-jsp指令

JSP基本语法

jsp页面指令

include指令与动作的区别

JSP的指令inclue和动作include的区别

指令 page tablib include的介绍