include指令和标准动作

  利用JSP的包含机制,可以有效的避免重复,把可重用的部分独立出去,使用include把它们包含到当前文件。JSP有两种包含机制:include指令和<jsp:include>标准动作。

1.include指令

include指令和<jsp:include>标准动作

2.<jsp:include>标准动作

include指令和<jsp:include>标准动作

3.内部原理

  include指令和<jsp:include>标准动作看上去一样,而且通常有相同的效果,但是它们生成的servlet代码并不相同。

include指令和<jsp:include>标准动作

  include指令在转换时发生,它就像把被包含的文件复制到当前文件一样;<jsp:include>标准动作在运行时发生,它在运行时插入“Header.jsp”的响应。

4.性能比较

  如果能够保证所包含的文件不再改变,那就应该使用include指令。不过使用指令会使生成的servlet类较大。

  而<jsp:include>标准动作会带来额外的性能开销,容器要根据页面属性创建一个RequestDispatcher,并应用include()方法,所包含的JSP针对同样的请求和响应对象执行,而且在同一线程中。

5.使用<jsp:param>定制包含的内容

  如果希望在包含页面时向被包含的页面传递参数,可以使用<jsp:param>传递参数:

include指令和<jsp:include>标准动作

  如果使用<jsp:include page="Header.jsp"></jsp:include>,即<jsp:include>体为空,则会报错。如果没有体,只能使用<jsp:include page="Header.jsp"/>的形式。

  <jsp:param>只能放在<jsp:include>或<jsp:forward>标准动作中。

6.第三种包含内容的方法

  使用JSTL的<c:import>标签,也可以将一个资源的内容增加到一个JSP中。不同于另外两种包含机制,<c:import>中的url可以来自web容器范围之外。

include指令和<jsp:include>标准动作

  用<c:import>和<c:param>标签,可以完成和<jsp:include>和<jsp:param>一样的功能。

include指令和<jsp:include>标准动作

 使用<c:import>和<c:param>

include指令和<jsp:include>标准动作

上一篇:解决display none到display block 渲染时间过长的问题,以及bootstrap模态框导致其他框中input不能获得焦点问题的解决


下一篇:qt 工具栏和菜单栏